First commit
This commit is contained in:
commit
0a2f12846a
50 changed files with 29417 additions and 0 deletions
6243
css/fontawesome.css
vendored
Normal file
6243
css/fontawesome.css
vendored
Normal file
File diff suppressed because it is too large
Load diff
695
css/style.css
Normal file
695
css/style.css
Normal file
|
|
@ -0,0 +1,695 @@
|
|||
@font-face {
|
||||
font-family:"Pubg Sans Regular";
|
||||
src:url("../fonts/PUBG_SANS.eot?") format("eot"),
|
||||
url("../fonts/PUBG_SANS.woff") format("woff"),
|
||||
url("../fonts/PUBG_SANS.ttf") format("truetype"),
|
||||
url("../fonts/PUBG_SANS.svg#PubgSans-Regular") format("svg");
|
||||
font-weight:normal;
|
||||
font-style:normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family:"Bombard";
|
||||
src:url("../fonts/bombard.woff") format("woff"),
|
||||
url("../fonts/bombard.woff") format("woff2");
|
||||
font-weight:normal;
|
||||
font-style:normal;
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family:"Moonshiner";
|
||||
src:url("../fonts/Moonshiner.woff") format("woff"),
|
||||
url("../fonts/Moonshiner.woff") format("woff2");
|
||||
font-weight:normal;
|
||||
font-style:normal;
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
.fade-enter-active, .fade-leave-active {
|
||||
transition: opacity 0.5s
|
||||
}
|
||||
|
||||
.fade-enter, .fade-leave-to /* .fade-leave-active, 2.1.8 版本以下 */ {
|
||||
opacity: 0
|
||||
}
|
||||
|
||||
.loading-display {
|
||||
font-family: "Agency";
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: #000;
|
||||
background-image: url(../images/bg_intro_terms.jpg);
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
color: #fff;
|
||||
transform: opacity, transform 0.5s ease;
|
||||
}
|
||||
|
||||
.loading-text {
|
||||
position: fixed;
|
||||
left: 50%;
|
||||
transform: translate(-50%);
|
||||
bottom: 3vh;
|
||||
font-size: 3vh;
|
||||
font-family: 'Overpass-Reg';
|
||||
color: #fff;
|
||||
text-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
|
||||
}
|
||||
|
||||
.loading-text > img {
|
||||
width: 2vh;
|
||||
height: 2vh;
|
||||
padding-right: 8px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
.loading-background {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.loading-logo {
|
||||
width: 10vw;
|
||||
}
|
||||
|
||||
.loading-title {
|
||||
text-align: center;
|
||||
font-size: 4vh;
|
||||
color: #fff;
|
||||
text-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
|
||||
}
|
||||
|
||||
.loading-subtitle {
|
||||
text-align: center;
|
||||
font-size: 3vh;
|
||||
color: #fff;
|
||||
text-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
|
||||
}
|
||||
|
||||
/* 赞助商屏幕样式 */
|
||||
body {
|
||||
font-family: 'Agency';
|
||||
cursor: pointer;
|
||||
font-size: larger;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.localed {
|
||||
font-family: 'Noto Sans SC';
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.fix-button {
|
||||
font-family: 'Agency';
|
||||
margin-bottom: -0.25vh;
|
||||
font-size: 2vh;
|
||||
text-align: center;
|
||||
padding: 1vh;
|
||||
background-color: rgba(90, 90, 90, 0.5);
|
||||
border: 1px solid rgba(255, 255, 255, 0.5);
|
||||
color: gray;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.title-image-bottom-right {
|
||||
position: fixed;
|
||||
width: 10vh;
|
||||
height: 10vh;
|
||||
bottom: 1vh;
|
||||
right: 5vw;
|
||||
}
|
||||
|
||||
/* 公告区域样式 */
|
||||
.announcement-area {
|
||||
position: fixed;
|
||||
top: 65vh;
|
||||
right: 1vw;
|
||||
width: auto;
|
||||
max-width: 400px;
|
||||
background-color: rgba(0, 0, 0, 0.7);
|
||||
border-radius: 0;
|
||||
padding: 1vh 1.5vh;
|
||||
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 1.5vh;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* 第二个公告区域的样式,显示在第一个下方 */
|
||||
.announcement-area + .announcement-area {
|
||||
top: 72.5vh;
|
||||
}
|
||||
|
||||
.announcement-icon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 4vh;
|
||||
height: 4vh;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.announcement-icon svg {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
fill: none;
|
||||
stroke: #e3b62f;
|
||||
stroke-width: 2;
|
||||
}
|
||||
|
||||
.announcement-text {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.3vh;
|
||||
}
|
||||
|
||||
.announcement-title {
|
||||
font-family: 'Agency';
|
||||
font-size: 2vh;
|
||||
color: #e3b62f;
|
||||
text-transform: uppercase;
|
||||
margin: 0;
|
||||
border-bottom: none;
|
||||
padding: 0;
|
||||
letter-spacing: 0.1em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.announcement-link {
|
||||
font-family: 'Agency';
|
||||
font-size: 1.5vh;
|
||||
color: #e3b62f;
|
||||
text-transform: uppercase;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
letter-spacing: 0.05em;
|
||||
cursor: pointer;
|
||||
transition: opacity 0.2s ease;
|
||||
text-decoration: none
|
||||
}
|
||||
|
||||
.announcement-link:hover {
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.game-play-container-top-left {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
justify-content: flex-start;
|
||||
color: #fff;
|
||||
z-index: 100;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: none;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.button-container {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: flex-end;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Multi-layer button with images */
|
||||
.multi-layer-button {
|
||||
position: relative;
|
||||
width: 39vh;
|
||||
height: 14vh;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
overflow: hidden;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Button layer hover effects */
|
||||
.multi-layer-button:hover .layer-1,
|
||||
.multi-layer-button.active-hover .layer-1 {
|
||||
opacity: 0;
|
||||
filter: blur(4px);
|
||||
transition: opacity 0.4s ease, filter 0.4s ease;
|
||||
}
|
||||
|
||||
.multi-layer-button:hover .layer-2,
|
||||
.multi-layer-button.active-hover .layer-2 {
|
||||
opacity: 1;
|
||||
filter: blur(0px);
|
||||
transition: opacity 0.4s ease, filter 0.4s ease;
|
||||
}
|
||||
|
||||
/* 闪光动画效果 */
|
||||
.multi-layer-button::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: -15.5%;
|
||||
left: -26.5%;
|
||||
width: 180%;
|
||||
height: 180%;
|
||||
pointer-events: none;
|
||||
z-index: 5;
|
||||
background: -webkit-linear-gradient(left, hsla(0,0%,100%,0), hsla(0,0%,100%,.5) 8%, #fff 16%, hsla(0,0%,100%,.5) 19%, hsla(0,0%,100%,0) 20%);
|
||||
background-position: inherit;
|
||||
-webkit-mask: url(../images/play-bg1.png) 0 0 no-repeat;
|
||||
-webkit-mask-size: cover;
|
||||
-webkit-transform: rotate(-30deg);
|
||||
transform: rotate(-30deg);
|
||||
-webkit-transform-origin: 0 0;
|
||||
transform-origin: 0 0;
|
||||
opacity: 0;
|
||||
-webkit-animation: shine linear 8s infinite;
|
||||
animation: shine linear 8s infinite;
|
||||
}
|
||||
|
||||
@keyframes shine {
|
||||
0% {
|
||||
background-position: inherit;
|
||||
opacity: 0
|
||||
}
|
||||
|
||||
35% {
|
||||
background-position: inherit;
|
||||
opacity: 0
|
||||
}
|
||||
|
||||
50% {
|
||||
background-position: 60vh 0;
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
75% {
|
||||
background-position: 60vh 0;
|
||||
opacity: 0
|
||||
}
|
||||
|
||||
100% {
|
||||
background-position: inherit;
|
||||
opacity: 0
|
||||
}
|
||||
}
|
||||
|
||||
.button-layer {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.layer-1 {
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.layer-2 {
|
||||
z-index: 2;
|
||||
mix-blend-mode: normal;
|
||||
opacity: 0;
|
||||
filter: blur(4px);
|
||||
transition: opacity 0.4s ease, filter 0.4s ease;
|
||||
}
|
||||
|
||||
.layer-3 {
|
||||
z-index: 0;
|
||||
mix-blend-mode: multiply;
|
||||
}
|
||||
|
||||
.button-text {
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
font-family: 'Agency';
|
||||
color: #fff;
|
||||
font-size: 6vh;
|
||||
text-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* 平铺服务器区域按钮 */
|
||||
.join-server-container {
|
||||
display: flex;
|
||||
padding: 0vh 1.5vh 1vh 1.5vh;
|
||||
margin-bottom: 0vh;
|
||||
margin-left: 0vh;
|
||||
width: 25vh;
|
||||
flex-direction: column;
|
||||
color: #fff;
|
||||
background-color: rgba(0, 0, 0, 0.85);
|
||||
border: 1px solid rgba(227, 182, 47, 0.6);
|
||||
border-top: none;
|
||||
border-radius: 0 0 4px 4px;
|
||||
opacity: 0;
|
||||
max-height: 0;
|
||||
overflow: hidden;
|
||||
transform: translateY(-10px);
|
||||
transition: opacity 0.3s ease, max-height 0.3s ease, transform 0.3s ease;
|
||||
position: absolute;
|
||||
top: 13.5vh;
|
||||
left: 0;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.join-server-container.show {
|
||||
opacity: 1;
|
||||
max-height: 80vh;
|
||||
overflow: visible;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.dropdown-section {
|
||||
margin-bottom: 1.5vh;
|
||||
}
|
||||
|
||||
.dropdown-header {
|
||||
font-family: 'Agency';
|
||||
font-size: 2.2vh;
|
||||
color: rgba(227, 182, 47, 1);
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 1vh;
|
||||
font-weight: bold;
|
||||
letter-spacing: 0.1em;
|
||||
padding-bottom: 0.3vh;
|
||||
border-bottom: 1px solid rgba(227, 182, 47, 0.3);
|
||||
}
|
||||
|
||||
.sel-server-button {
|
||||
font-family: 'Agency';
|
||||
margin-bottom: 0.8vh;
|
||||
font-size: 2.1vh;
|
||||
text-align: left;
|
||||
padding: 0.6vh 1vh;
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.sel-server-button:hover {
|
||||
color: rgba(227, 182, 47, 1);
|
||||
background-color: rgba(227, 182, 47, 0.1);
|
||||
}
|
||||
|
||||
.sel-server-button.active {
|
||||
color: rgba(227, 182, 47, 1);
|
||||
background-color: rgba(227, 182, 47, 0.15);
|
||||
}
|
||||
|
||||
.checkmark {
|
||||
margin-right: 1.2vh;
|
||||
color: rgba(227, 182, 47, 1);
|
||||
font-weight: bold;
|
||||
font-size: 2vh;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.hide {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.serial-text {
|
||||
position: fixed;
|
||||
bottom: 1vh;
|
||||
left: 0;
|
||||
right: 0;
|
||||
text-align: center;
|
||||
font-size: 1.5vh;
|
||||
color: rgba(255, 255, 255, 0.5)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.nav-item {
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
cursor: pointer;
|
||||
transition: color 0.2s ease;
|
||||
padding: 0.3vh 1.5vh;
|
||||
font-weight: normal;
|
||||
margin-right: 2vh;
|
||||
}
|
||||
|
||||
.nav-item:hover {
|
||||
color: #e3b62f;
|
||||
}
|
||||
|
||||
.nav-item.active {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* 右上角区域 */
|
||||
.top-right-area {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
z-index: 90;
|
||||
font-family: 'Agency';
|
||||
}
|
||||
|
||||
/* 顶部导航栏 */
|
||||
.top-navigation {
|
||||
position: relative;
|
||||
display: flex;
|
||||
gap: 3vh;
|
||||
font-size: 2.5vh;
|
||||
text-transform: uppercase;
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
margin-top: -0.5vh;
|
||||
white-space: nowrap;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
padding: 0.5vh 1vh;
|
||||
}
|
||||
|
||||
.top-navigation .nav-item {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.top-navigation .nav-item:hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.top-navigation .nav-item.active {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.nav-spacer {
|
||||
display: inline-block;
|
||||
width: 2vh;
|
||||
}
|
||||
|
||||
/* 右上角控制区 */
|
||||
.top-right-controls {
|
||||
position: fixed;
|
||||
top: 3vh;
|
||||
right: 2vw;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
gap: 3vh;
|
||||
}
|
||||
|
||||
/* 玩家信息样式 */
|
||||
.player-info {
|
||||
position: fixed;
|
||||
top: 8vh;
|
||||
right: 2vw;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
gap: 0;
|
||||
}
|
||||
|
||||
.player-name {
|
||||
font-size: 2.5vh;
|
||||
font-weight: normal;
|
||||
color: #fff;
|
||||
text-align: right;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.player-bp {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 2vh;
|
||||
color: #e3b62f;
|
||||
}
|
||||
|
||||
.bp-icon {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
/* 系统按钮占位符 */
|
||||
.system-buttons-placeholder {
|
||||
width: 20vh;
|
||||
height: 4vh;
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* PUBG Title on Button Styles */
|
||||
.pubg-title-on-button {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: flex-start;
|
||||
padding-left: 3vh;
|
||||
z-index: 3;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.play-text {
|
||||
font-family: 'Bombard', 'Agency', 'PUBG Sans Regular', sans-serif;
|
||||
color: #fff;
|
||||
font-size: 5.5vh;
|
||||
text-transform: uppercase;
|
||||
text-shadow: 0.1em 0.1em 0.2em rgba(0, 0, 0, 0.9);
|
||||
margin-bottom: 0.5vh;
|
||||
font-weight: bold;
|
||||
letter-spacing: 0.05em;
|
||||
line-height: 1;
|
||||
animation: pulse-opacity 3s infinite ease-in-out;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.tips-text {
|
||||
font-family: 'Moonshiner', 'Agency', 'PUBG Sans Regular', sans-serif;
|
||||
font-size: 3vh;
|
||||
text-transform: uppercase;
|
||||
color: rgba(227, 182, 47, 1);
|
||||
text-shadow: 0.1em 0.1em 0.2em rgba(0, 0, 0, 0.9);
|
||||
letter-spacing: 0.1em;
|
||||
position: relative;
|
||||
opacity: 0.9;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
/* Tips text container */
|
||||
.tips-text-container {
|
||||
position: relative;
|
||||
height: 3vh;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
/* Default text - CHOOSE YOUR REGION */
|
||||
.multi-layer-button .default-text {
|
||||
opacity: 1;
|
||||
transition: opacity 0.3s ease;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
text-align: left;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
/* Hover text - CLICK TO PLAY */
|
||||
.multi-layer-button .hover-text {
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s ease;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
text-align: left;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
/* Show hover text when button is hovered or dropdown is active */
|
||||
.multi-layer-button:hover .default-text,
|
||||
.multi-layer-button.active-hover .default-text {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.multi-layer-button:hover .hover-text,
|
||||
.multi-layer-button.active-hover .hover-text {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.button-text {
|
||||
position: relative;
|
||||
z-index: 4;
|
||||
font-family: 'Agency';
|
||||
color: #fff;
|
||||
font-size: 6vh;
|
||||
text-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@keyframes pulse-opacity {
|
||||
0% {
|
||||
opacity: 1;
|
||||
}
|
||||
50% {
|
||||
opacity: 0.7;
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes title-glow {
|
||||
0% {
|
||||
left: -100%;
|
||||
}
|
||||
100% {
|
||||
left: 100%;
|
||||
}
|
||||
}
|
||||
6
css/svg-with-js.min.css
vendored
Normal file
6
css/svg-with-js.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue