2025-05-27 15:46:31 +08:00

772 lines
15 KiB
CSS
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* 禁用用户选择 */
* {
-webkit-user-select: none;
/* Chrome, Opera, Safari */
-moz-user-select: none;
/* Firefox */
-ms-user-select: none;
/* Internet Explorer/Edge */
user-select: none;
/* Non-prefixed version, currently supported by Chrome, Opera and Firefox */
-webkit-tap-highlight-color: transparent;
/* 禁用触控点击的蓝色叠加层 */
}
body {
font-family: Arial, sans-serif;
/* background-color: #4a0e8f; */
background-image: url("../images/background.jpg");
/* Change 'path/to/your/background.jpg' to the path of your actual image */
background-size: cover;
/* Cover the entire page */
background-position: center;
/* Center the background image */
background-attachment: fixed;
/* Optional: Fix the background image during scrolling */
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
width: 100vw;
margin: 0;
}
.top-bar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 20px;
position: fixed;
top: 0;
width: 100%;
height: 40px;
z-index: 1000;
background-color: rgba(255, 255, 255, 0.288);
backdrop-filter: blur(5px);
/* box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25); */
/* 添加阴影 */
}
.logo {
display: flex;
align-items: center;
cursor: pointer;
color: #ffffffcc;
position: absolute;
left: 10px;
padding-left: 10px;
}
.logo img {
width: 32px;
margin-left: 20px;
}
.logo span {
margin-left: 10px;
color: #ffffff;
}
.date-time-container {
/* display: grid;
grid-template-rows: 1fr 1fr;
grid-template-columns: 1fr 2fr; */
font-size: 16px;
color: white;
text-align: center;
position: absolute;
left: 50%;
transform: translateX(-50%);
display: flex;
align-items: center;
justify-content: center;
}
.weekday {
text-align: center;
/* grid-row: 1 / 2;
grid-column: 1 / 2; */
font-size: 16px;
font-weight: bold;
}
.date {
text-align: center;
/* grid-row: 2 / 3;
grid-column: 1 / 2; */
font-size: 12px;
font-weight: bold;
}
.time {
text-align: center;
/* grid-row: 1 / 3;
grid-column: 2 / 3; */
font-size: 32px;
/* 更大的字体大小 */
font-weight: bold;
margin-left: 10px;
}
.right-section {
display: flex;
align-items: center;
position: absolute;
right: 10px;
padding-right: 20px;
}
.status {
display: flex;
align-items: center;
cursor: pointer;
margin-right: 15px;
}
.status span {
margin-left: 10px;
color: #ffffff;
}
.status img {
width: 32px;
}
.shutdown {
display: flex;
align-items: center;
cursor: pointer;
}
.shutdown img {
width: 36px;
opacity: 0.75;
}
.top-bar .mode-switch {
display: flex;
position: absolute;
left: 8vw;
border-radius: 20px;
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
-ms-border-radius: 20px;
-o-border-radius: 20px;
overflow: hidden;
}
.top-bar .mode {
cursor: pointer;
color: #fff;
background-color: #6666667a;
/* width: 100px; */
height: 30px;
text-align: center;
/* border-radius: 4px; */
display: flex;
flex-direction: column;
/* align-items: center; */
justify-content: center;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
text-wrap: nowrap;
padding: 0 14px;
min-width: 50px;
font-size: 14px;
}
.top-bar .mode.active {
background-color: #ff769f83;
}
.top-bar .mode:not(.active):hover {
background-color: #55555575;
}
.change-parts {
position: fixed;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
left: 0;
top: 12.5%;
background-color: rgba(255, 255, 255, 0.7);
box-shadow: 0px 0px 24px rgba(255, 255, 255, 0.65);
max-width: 40px;
width: 40px;
font-size: 16px;
border-radius: 0 10px 10px 0;
-webkit-border-radius: 0 10px 10px 0;
-moz-border-radius: 0 10px 10px 0;
-ms-border-radius: 0 10px 10px 0;
-o-border-radius: 0 10px 10px 0;
overflow: hidden;
}
.change-parts .part-btn {
padding: 10px;
transition: background-color 0.3s ease;
}
.change-parts .part-btn.active {
background: linear-gradient(
to right bottom,
rgb(212, 96, 241),
rgba(145, 66, 197, 0.5)
);
color: #fff;
font-weight: 500;
animation: 0.6s changeBgColor;
-webkit-animation: 0.6s changeBgColor;
}
@-webkit-keyframes changeBgColor {
0% {
background-color: rgba(255, 255, 255, 0.7);
font-size: 0;
}
20% {
background-color: rgb(248, 132, 242);
color: #ffe88b;
}
100% {
background: linear-gradient(
to right bottom,
rgb(212, 96, 241),
rgba(145, 66, 197, 0.5)
);
}
}
@keyframes changeBgColor {
0% {
background-color: rgba(255, 255, 255, 0.7);
}
20% {
background-color: rgb(248, 132, 242);
color: #ffe88b;
}
100% {
background: linear-gradient(
to right bottom,
rgb(212, 96, 241),
rgba(145, 66, 197, 0.5)
);
}
}
.change-head {
position: fixed;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
right: 0px;
top: 15.5%;
/* 12.5% + 75% * 4% */
/* background-color: rgba(218, 218, 218, 0.6); */
background-color: rgba(224, 224, 224, 0.7);
box-shadow: 0px 0px 24px rgba(255, 255, 255, 0.65);
/*max-width: 40px;
width: 40px;
*/
width: 54px;
font-size: 16px;
box-sizing: border-box;
border-radius: 10px 0 0 10px;
-webkit-border-radius: 10px 0 0 10px;
-moz-border-radius: 10px 0 0 10px;
-ms-border-radius: 10px 0 0 10px;
-o-border-radius: 10px 0 0 10px;
overflow: hidden;
}
.change-head .head-btn {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
font-size: 13px;
padding: 12px 8px;
transition: background-color 0.3s ease;
-webkit-transition: background-color 0.3s ease;
-moz-transition: background-color 0.3s ease;
-ms-transition: background-color 0.3s ease;
-o-transition: background-color 0.3s ease;
/* background-color: rgb(218, 218, 218, 0.6); */
/* background-color: rgb(255, 255, 255, 0.7); */
background-color: rgba(224, 224, 224, 0.7);
color: #666666;
}
.head-btn .btn-icon {
width: 30px;
height: 30px;
opacity: 0.5;
margin: 0 4px;
}
.head-btn .btn-text {
margin-top: 14px;
font-size: 12px;
padding: 2px 4px;
line-height: 16px;
width: 40px;
overflow-x: auto !important;
}
.change-head .head-btn.active {
background: linear-gradient(
to right bottom,
rgb(212, 96, 241),
rgba(145, 66, 197, 0.5)
);
color: #fff;
font-weight: 500;
animation: 1s changeBgColor;
-webkit-animation: 1s changeBgColor;
padding-top: 20px;
}
.change-head .head-btn.active .btn-icon {
opacity: 0.8;
transform: rotate(-45deg) scale(1.4);
-webkit-transform: rotate(-45deg) scale(1.4);
-moz-transform: rotate(-45deg) scale(1.4);
-ms-transform: rotate(-45deg) scale(1.4);
-o-transform: rotate(-45deg) scale(1.4);
transition: all 0.5s ease;
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
}
.container {
justify-content: center;
align-items: center;
display: grid;
grid-template-columns: 1fr 2fr;
/*grid-template-columns: 2fr 1fr;
*/
/*grid-template-rows: repeat(2, 1fr);
*/
gap: 20px;
width: 85%;
height: 75%;
transform: translateY(4%);
-webkit-transform: translateY(4%);
-moz-transform: translateY(4%);
-ms-transform: translateY(4%);
-o-transform: translateY(4%);
/*计算除去top-bar和step-indicator后的高度*/
/*position: fixed;
*/
/*bottom: 0px;
*/
/*background-color: #555555;
*/
}
.tile {
width: 100%;
height: 100%;
/* margin-bottom: 5%; */
/* background-color: aqua; */
border-radius: 15px;
background-color: rgba(255, 255, 255, 0.7);
backdrop-filter: blur(5px);
box-shadow: 0px 0px 24px rgba(255, 255, 255, 0.65);
position: relative;
/* overflow: hidden; */
}
.massage-info {
height: 100%;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.dynamic-content {
/*margin-left: 5%;
margin-top: 5%;
margin-bottom: 5%;
*/
width: 100%;
height: 100%;
padding: 5%;
box-sizing: border-box;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
border-radius: 15px;
background-color: #ffffff75;
position: relative;
/* -webkit-border-radius: 15px;-moz-border-radius: 15px;
-ms-border-radius: 15px;
-o-border-radius: 15px; */
}
.content-switch-box {
position: absolute;
top: 10px;
left: 0;
width: 100%;
height: 30px;
display: flex;
justify-content: center;
align-items: center;
}
.content-switch {
height: 30px;
background-color: #dddddd93;
border-radius: 15px;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
z-index: 3;
display: flex;
align-items: center;
justify-content: center;
}
.toggle-option {
text-align: center;
display: flex;
align-items: center;
justify-content: center;
font-size: small;
transition: color 0.5s ease-in-out, font-weight 0.5s ease-in-out;
position: relative;
z-index: 3;
padding: 0 14px;
height: 30px;
-webkit-transition: color 0.5s ease-in-out, font-weight 0.5s ease-in-out;
-moz-transition: color 0.5s ease-in-out, font-weight 0.5s ease-in-out;
-ms-transition: color 0.5s ease-in-out, font-weight 0.5s ease-in-out;
-o-transition: color 0.5s ease-in-out, font-weight 0.5s ease-in-out;
}
.toggle-option.active {
font-weight: bold;
color: white;
}
.slider-toggle {
position: absolute;
/*height: 25px;
*/
height: 30px;
/*width: calc(100% / 2);
*/
background: linear-gradient(
to right bottom,
rgb(212, 96, 241),
rgba(145, 66, 197, 0.5)
);
border-radius: 15px;
transition: left 0.2s ease-in-out;
z-index: 1;
box-shadow: 0 0 4px rgba(255, 255, 255, 0.5);
-webkit-transition: left 0.2s ease-in-out;
-moz-transition: left 0.2s ease-in-out;
-ms-transition: left 0.2s ease-in-out;
-o-transition: left 0.2s ease-in-out;
}
.content-display {
height: 100%;
width: 100%;
border: none;
box-sizing: border-box;
/* padding: 5%; */
border-radius: 15px;
position: absolute;
bottom: 0;
left: 0;
opacity: 0;
z-index: 0;
transition: opacity 0.2s ease-in-out, z-index 0.2s ease-in-out;
-webkit-transition: opacity 0.2s ease-in-out, z-index 0.2s ease-in-out;
-moz-transition: opacity 0.2s ease-in-out, z-index 0.2s ease-in-out;
-ms-transition: opacity 0.2s ease-in-out, z-index 0.2s ease-in-out;
-o-transition: opacity 0.2s ease-in-out, z-index 0.2s ease-in-out;
}
.content-display.active {
opacity: 1;
z-index: 2;
}
.content-display.inactive {
opacity: 0;
z-index: 1;
}
/* 隐藏滚动条 */
#web-content-frame::-webkit-scrollbar {
display: none;
}
#web-content-frame {
/* -ms-overflow-style: none; */
/* IE and Edge */
/* scrollbar-width: none; */
/* Firefox */
}
#img-content-frame {
width: 100%;
/* display: block; */
/*将图片设为块级元素,方便布局*/
max-width: 100%;
/*限制图片的最大宽度为容器宽度*/
height: 100%;
/*高度为容器高度*/
padding: 5%;
/*保持图片比例,允许横向裁减*/
object-fit: cover;
object-position: center;
position: absolute;
box-sizing: border-box;
border-radius: 30px;
overflow: hidden;
}
.line {
position: absolute;
height: 2px;
top: 11%;
left: 10%;
width: 80%;
border-top: 2px dashed red;
/* 虚线样式 */
pointer-events: none;
z-index: 9999;
}
.line2 {
position: absolute;
height: 2px;
top: 84%;
left: 10%;
width: 80%;
border-top: 2px dashed red;
/* 虚线样式 */
pointer-events: none;
z-index: 9999;
}
.static-image {
/* width: 100%; */
/* margin-right: 5%;margin-top: 5%;
margin-bottom: 5%; */
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
border-radius: 10px;
background-color: #ffffff75;
position: relative;
/* box-shadow: 0px 0px 4px rrgba(0, 0, 0, 0.65); */
/* background: linear-gradient(to right bottom, rgb(212, 96, 241,0.8), rgba(145, 66, 197, 0.5)); */
}
#img2d-image {
width: 100%;
/* 设置图片宽度为100% */
height: 100%;
/* 设置图片高度为100% */
object-fit: cover;
/* 确保图片填充容器并裁剪掉溢出的部分 */
display: block;
/* 移除图片底部的间隙 */
position: absolute;
/* 绝对定位以便居中 */
top: 50%;
/* 向下移动50% */
left: 50%;
/* 向右移动50% */
transform: translate(-50%, -50%);
/* 使用transform进行居中 */
}
.static-image iframe {
height: 100%;
width: 100%;
transform: translateY(-1%);
transform: translateX(-1.5px);
}
#toggle3D {
position: absolute;
top: 30px;
right: 10px;
/* padding: 8px 16px; */
height: 35px;
width: 35px;
background-color: rgba(0, 0, 0, 0.25);
border: none;
border-radius: 17.5px;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
z-index: 9999;
}
#toggle3D img {
/* scale: 0.75; */
height: 30px;
width: 30px;
/* transform: scale(0.75); */
opacity: 0.85;
}
.dynamic-function {
height: 100%;
width: 100%;
justify-content: center;
align-items: center;
display: flex;
}
.dynamic-function iframe {
height: 100%;
width: 100%;
background: transparent;
}
.ai-ball {
height: 100px;
width: 100px;
opacity: 0.7;
position: absolute;
left: 5vw;
bottom: 0;
/* background-color: #55555575; */
}
.ai-message {
position: absolute;
bottom: 0;
left: 5.2vw;
right: 5.2vw;
background-color: rgba(255, 255, 255, 0.15);
backdrop-filter: blur(5px);
margin-bottom: 27.5px;
margin-left: 75px;
margin-right: 30px;
height: 45px;
border-radius: 22.5px;
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}
#messageBox {
/* height: 100%;
width: 100%; */
position: absolute;
bottom: 0;
left: 5.2vw;
right: 5.2vw;
color: rgba(255, 255, 255, 0.85);
margin-bottom: 38px;
margin-left: 75px;
margin-right: 75px;
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
font-weight: bold;
transition: transform 0.5s, opacity 0.5s;
/* Smooth transition for transform and opacity */
/* background-color: #55555575; */
}
.slide-in {
animation: slideIn 0.5s forwards;
/* Animation to slide in the message */
}
@keyframes slideIn {
from {
transform: translateY(50%);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
/* 弹窗的背景遮罩 */
.popup-modal {
display: none;
/* 默认隐藏 */
position: fixed;
z-index: 1000;
/* 确保弹窗在最顶层 */
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
/* 背景透明 */
justify-content: center;
align-items: center;
}
/* 弹窗的内容 */
.popup-content {
background-color: rgba(255, 255, 255, 0.7);
/* 背景透明度 */
backdrop-filter: blur(5px);
/* 背景模糊效果 */
padding: 20px;
border-radius: 15px;
text-align: center;
width: 300px;
box-shadow: 0px 0px 24px rgba(255, 255, 255, 0.65);
/* 与其他元素一致的阴影效果 */
}
/* 按钮样式 */
#popup-buttons button {
margin: 5px;
padding: 10px 25px;
border: none;
border-radius: 10px;
background: linear-gradient(
to right bottom,
rgb(212, 96, 241),
rgba(145, 66, 197, 0.5)
);
/* 紫色渐变 */
color: white;
font-size: 16px;
cursor: pointer;
transition: background 0.3s ease;
}
#popup-buttons button:active {
background: linear-gradient(
to right bottom,
rgba(145, 66, 197, 1),
rgb(212, 96, 241)
);
/* 悬停时加深渐变 */
}