/* 禁用用户选择 */ * { -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) ); /* 悬停时加深渐变 */ }