新的实用更新
This commit is contained in:
@@ -10,6 +10,30 @@ body {
|
||||
line-height: 1.6;
|
||||
color: #2c3e50;
|
||||
overflow-x: hidden;
|
||||
animation: textColorShift 25s ease infinite;
|
||||
}
|
||||
|
||||
@keyframes textColorShift {
|
||||
0% {
|
||||
color: #2c3e50;
|
||||
text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
25% {
|
||||
color: #1a252f;
|
||||
text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.9);
|
||||
}
|
||||
50% {
|
||||
color: #34495e;
|
||||
text-shadow: 1px 1px 3px rgba(255, 255, 255, 0.7);
|
||||
}
|
||||
75% {
|
||||
color: #2c3e50;
|
||||
text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
100% {
|
||||
color: #2c3e50;
|
||||
text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
}
|
||||
|
||||
/* 容器 */
|
||||
@@ -31,7 +55,7 @@ body {
|
||||
}
|
||||
}
|
||||
|
||||
/* 玻璃拟态基础样式 */
|
||||
/* 玻璃拟态基础样式 - 动态调节版本 */
|
||||
.glass-morphism {
|
||||
background: rgba(255, 255, 255, 0.15);
|
||||
backdrop-filter: blur(20px);
|
||||
@@ -41,9 +65,48 @@ body {
|
||||
0 8px 32px 0 rgba(31, 38, 135, 0.15),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.3);
|
||||
border-radius: 20px;
|
||||
animation: glassColorShift 25s ease infinite;
|
||||
}
|
||||
|
||||
/* 头部 */
|
||||
@keyframes glassColorShift {
|
||||
0% {
|
||||
background: rgba(255, 255, 255, 0.15);
|
||||
border-color: rgba(255, 255, 255, 0.2);
|
||||
box-shadow:
|
||||
0 8px 32px 0 rgba(31, 38, 135, 0.15),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
25% {
|
||||
background: rgba(255, 255, 255, 0.25);
|
||||
border-color: rgba(255, 255, 255, 0.35);
|
||||
box-shadow:
|
||||
0 8px 32px 0 rgba(31, 38, 135, 0.25),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
50% {
|
||||
background: rgba(255, 255, 255, 0.18);
|
||||
border-color: rgba(255, 255, 255, 0.25);
|
||||
box-shadow:
|
||||
0 8px 32px 0 rgba(31, 38, 135, 0.18),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.35);
|
||||
}
|
||||
75% {
|
||||
background: rgba(255, 255, 255, 0.22);
|
||||
border-color: rgba(255, 255, 255, 0.3);
|
||||
box-shadow:
|
||||
0 8px 32px 0 rgba(31, 38, 135, 0.2),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.4);
|
||||
}
|
||||
100% {
|
||||
background: rgba(255, 255, 255, 0.15);
|
||||
border-color: rgba(255, 255, 255, 0.2);
|
||||
box-shadow:
|
||||
0 8px 32px 0 rgba(31, 38, 135, 0.15),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
}
|
||||
|
||||
/* 头部 - 动态调节版本 */
|
||||
.header {
|
||||
text-align: center;
|
||||
margin-bottom: 40px;
|
||||
@@ -58,6 +121,45 @@ body {
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.4);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
animation: headerColorShift 25s ease infinite;
|
||||
}
|
||||
|
||||
@keyframes headerColorShift {
|
||||
0% {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
border-color: rgba(255, 255, 255, 0.2);
|
||||
box-shadow:
|
||||
0 8px 32px 0 rgba(31, 38, 135, 0.2),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.4);
|
||||
}
|
||||
25% {
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
border-color: rgba(255, 255, 255, 0.35);
|
||||
box-shadow:
|
||||
0 8px 32px 0 rgba(31, 38, 135, 0.3),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.6);
|
||||
}
|
||||
50% {
|
||||
background: rgba(255, 255, 255, 0.15);
|
||||
border-color: rgba(255, 255, 255, 0.25);
|
||||
box-shadow:
|
||||
0 8px 32px 0 rgba(31, 38, 135, 0.22),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.45);
|
||||
}
|
||||
75% {
|
||||
background: rgba(255, 255, 255, 0.18);
|
||||
border-color: rgba(255, 255, 255, 0.3);
|
||||
box-shadow:
|
||||
0 8px 32px 0 rgba(31, 38, 135, 0.25),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
100% {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
border-color: rgba(255, 255, 255, 0.2);
|
||||
box-shadow:
|
||||
0 8px 32px 0 rgba(31, 38, 135, 0.2),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.4);
|
||||
}
|
||||
}
|
||||
|
||||
.header::before {
|
||||
@@ -102,30 +204,77 @@ body {
|
||||
.title {
|
||||
font-size: 3.2em;
|
||||
font-weight: 800;
|
||||
color: rgba(255, 255, 255, 0.95);
|
||||
color: #2c3e50;
|
||||
margin-bottom: 10px;
|
||||
text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
|
||||
text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.8), 0 0 4px rgba(255, 255, 255, 0.6);
|
||||
letter-spacing: 2px;
|
||||
animation: titleGlow 4s ease-in-out infinite alternate;
|
||||
animation: titleGlow 4s ease-in-out infinite alternate, titleColorShift 25s ease infinite;
|
||||
}
|
||||
|
||||
@keyframes titleColorShift {
|
||||
0% {
|
||||
color: #2c3e50;
|
||||
text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.8), 0 0 4px rgba(255, 255, 255, 0.6);
|
||||
}
|
||||
25% {
|
||||
color: #3498db;
|
||||
text-shadow: 1px 1px 3px rgba(255, 255, 255, 0.9), 0 0 6px rgba(52, 152, 219, 0.4);
|
||||
}
|
||||
50% {
|
||||
color: #e74c3c;
|
||||
text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.7), 0 0 5px rgba(231, 76, 60, 0.3);
|
||||
}
|
||||
75% {
|
||||
color: #f39c12;
|
||||
text-shadow: 1px 1px 3px rgba(255, 255, 255, 0.8), 0 0 6px rgba(243, 156, 18, 0.4);
|
||||
}
|
||||
100% {
|
||||
color: #2c3e50;
|
||||
text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.8), 0 0 4px rgba(255, 255, 255, 0.6);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes titleGlow {
|
||||
0% {
|
||||
text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
|
||||
color: rgba(255, 255, 255, 0.95);
|
||||
text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.8), 0 0 4px rgba(255, 255, 255, 0.6);
|
||||
color: #2c3e50;
|
||||
}
|
||||
100% {
|
||||
text-shadow: 0 0 20px rgba(255, 255, 255, 0.8), 0 2px 10px rgba(0, 0, 0, 0.3);
|
||||
color: rgba(255, 255, 255, 1);
|
||||
text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.9), 0 0 8px rgba(255, 255, 255, 0.7);
|
||||
color: #3498db;
|
||||
}
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-size: 1.3em;
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
color: #7f8c8d;
|
||||
margin-bottom: 30px;
|
||||
font-weight: 500;
|
||||
text-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
|
||||
font-weight: 600;
|
||||
text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
|
||||
animation: subtitleColorShift 25s ease infinite;
|
||||
}
|
||||
|
||||
@keyframes subtitleColorShift {
|
||||
0% {
|
||||
color: #7f8c8d;
|
||||
text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
25% {
|
||||
color: #9b59b6;
|
||||
text-shadow: 0 1px 3px rgba(255, 255, 255, 0.9);
|
||||
}
|
||||
50% {
|
||||
color: #e67e22;
|
||||
text-shadow: 0 1px 2px rgba(255, 255, 255, 0.7);
|
||||
}
|
||||
75% {
|
||||
color: #27ae60;
|
||||
text-shadow: 0 1px 3px rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
100% {
|
||||
color: #7f8c8d;
|
||||
text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
}
|
||||
|
||||
/* 日期选择器 */
|
||||
@@ -149,10 +298,34 @@ body {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
color: rgba(255, 255, 255, 0.9);
|
||||
color: #0f1419;
|
||||
font-weight: 600;
|
||||
font-size: 1em;
|
||||
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
|
||||
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6);
|
||||
animation: labelColorShift 25s ease infinite;
|
||||
}
|
||||
|
||||
@keyframes labelColorShift {
|
||||
0% {
|
||||
color: #0f1419;
|
||||
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
25% {
|
||||
color: #1a252f;
|
||||
text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.7);
|
||||
}
|
||||
50% {
|
||||
color: #2c3e50;
|
||||
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
75% {
|
||||
color: #0f1419;
|
||||
text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
100% {
|
||||
color: #0f1419;
|
||||
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
}
|
||||
|
||||
.label-icon {
|
||||
@@ -166,13 +339,42 @@ body {
|
||||
border: 1px solid rgba(255, 255, 255, 0.3);
|
||||
border-radius: 15px;
|
||||
padding: 12px 16px;
|
||||
color: rgba(255, 255, 255, 0.95);
|
||||
color: #0a0f14;
|
||||
font-size: 1em;
|
||||
font-weight: 500;
|
||||
transition: all 0.3s ease;
|
||||
box-shadow:
|
||||
0 4px 15px rgba(31, 38, 135, 0.1),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.2);
|
||||
animation: inputColorShift 25s ease infinite;
|
||||
}
|
||||
|
||||
@keyframes inputColorShift {
|
||||
0% {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
border-color: rgba(255, 255, 255, 0.3);
|
||||
color: #0a0f14;
|
||||
}
|
||||
25% {
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
border-color: rgba(255, 255, 255, 0.4);
|
||||
color: #1a252f;
|
||||
}
|
||||
50% {
|
||||
background: rgba(255, 255, 255, 0.15);
|
||||
border-color: rgba(255, 255, 255, 0.35);
|
||||
color: #2c3e50;
|
||||
}
|
||||
75% {
|
||||
background: rgba(255, 255, 255, 0.18);
|
||||
border-color: rgba(255, 255, 255, 0.38);
|
||||
color: #0a0f14;
|
||||
}
|
||||
100% {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
border-color: rgba(255, 255, 255, 0.3);
|
||||
color: #0a0f14;
|
||||
}
|
||||
}
|
||||
|
||||
.date-input:focus {
|
||||
@@ -196,7 +398,7 @@ body {
|
||||
background: rgba(255, 255, 255, 0.15);
|
||||
backdrop-filter: blur(15px);
|
||||
-webkit-backdrop-filter: blur(15px);
|
||||
color: rgba(255, 255, 255, 0.95);
|
||||
color: #0a0f14;
|
||||
border: 1px solid rgba(255, 255, 255, 0.3);
|
||||
padding: 12px 28px;
|
||||
border-radius: 20px;
|
||||
@@ -209,10 +411,39 @@ body {
|
||||
gap: 8px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
|
||||
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
|
||||
box-shadow:
|
||||
0 4px 15px rgba(31, 38, 135, 0.2),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.3);
|
||||
animation: buttonColorShift 25s ease infinite;
|
||||
}
|
||||
|
||||
@keyframes buttonColorShift {
|
||||
0% {
|
||||
background: rgba(255, 255, 255, 0.15);
|
||||
border-color: rgba(255, 255, 255, 0.3);
|
||||
color: #0a0f14;
|
||||
}
|
||||
25% {
|
||||
background: rgba(255, 255, 255, 0.25);
|
||||
border-color: rgba(255, 255, 255, 0.4);
|
||||
color: #1a252f;
|
||||
}
|
||||
50% {
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
border-color: rgba(255, 255, 255, 0.35);
|
||||
color: #2c3e50;
|
||||
}
|
||||
75% {
|
||||
background: rgba(255, 255, 255, 0.22);
|
||||
border-color: rgba(255, 255, 255, 0.38);
|
||||
color: #0a0f14;
|
||||
}
|
||||
100% {
|
||||
background: rgba(255, 255, 255, 0.15);
|
||||
border-color: rgba(255, 255, 255, 0.3);
|
||||
color: #0a0f14;
|
||||
}
|
||||
}
|
||||
|
||||
.query-btn::before {
|
||||
@@ -257,7 +488,7 @@ body {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
color: #1a252f;
|
||||
font-size: 1em;
|
||||
padding: 10px 20px;
|
||||
background: rgba(255, 255, 255, 0.08);
|
||||
@@ -266,7 +497,8 @@ body {
|
||||
border-radius: 20px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.15);
|
||||
display: inline-flex;
|
||||
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
|
||||
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.time-icon {
|
||||
@@ -477,8 +709,8 @@ body {
|
||||
.card-title {
|
||||
font-size: 1.5em;
|
||||
font-weight: 700;
|
||||
color: rgba(255, 255, 255, 0.95);
|
||||
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
|
||||
color: #0a0f14;
|
||||
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
.card-content {
|
||||
@@ -512,16 +744,16 @@ body {
|
||||
|
||||
.item-label {
|
||||
font-weight: 600;
|
||||
color: rgba(255, 255, 255, 0.9);
|
||||
color: #1a252f;
|
||||
min-width: 80px;
|
||||
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
|
||||
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.item-value {
|
||||
font-weight: 700;
|
||||
color: rgba(255, 255, 255, 0.95);
|
||||
color: #0a0f14;
|
||||
font-size: 1.1em;
|
||||
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
|
||||
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
/* 错误信息 */
|
||||
@@ -558,14 +790,15 @@ body {
|
||||
|
||||
.error-content h3 {
|
||||
font-size: 1.6em;
|
||||
color: rgba(255, 255, 255, 0.95);
|
||||
color: #0a0f14;
|
||||
margin: 0;
|
||||
font-weight: 700;
|
||||
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
|
||||
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
.error-content p {
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
color: #1a252f;
|
||||
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
|
||||
font-size: 1.1em;
|
||||
margin: 0;
|
||||
line-height: 1.6;
|
||||
@@ -576,7 +809,7 @@ body {
|
||||
background: rgba(255, 255, 255, 0.15);
|
||||
backdrop-filter: blur(15px);
|
||||
-webkit-backdrop-filter: blur(15px);
|
||||
color: rgba(255, 255, 255, 0.95);
|
||||
color: #0a0f14;
|
||||
border: 1px solid rgba(255, 255, 255, 0.3);
|
||||
padding: 12px 25px;
|
||||
border-radius: 20px;
|
||||
@@ -587,7 +820,7 @@ body {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
|
||||
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
|
||||
box-shadow:
|
||||
0 4px 15px rgba(31, 38, 135, 0.2),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.3);
|
||||
@@ -643,9 +876,9 @@ body {
|
||||
.tip-card h3 {
|
||||
font-size: 1.4em;
|
||||
font-weight: 700;
|
||||
color: rgba(255, 255, 255, 0.95);
|
||||
color: #0a0f14;
|
||||
margin-bottom: 20px;
|
||||
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
|
||||
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
.tip-card ul {
|
||||
@@ -656,7 +889,7 @@ body {
|
||||
}
|
||||
|
||||
.tip-card li {
|
||||
color: rgba(255, 255, 255, 0.9);
|
||||
color: #1a252f;
|
||||
font-size: 1em;
|
||||
padding: 10px 15px;
|
||||
background: rgba(255, 255, 255, 0.08);
|
||||
@@ -665,7 +898,7 @@ body {
|
||||
border-radius: 10px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.15);
|
||||
transition: all 0.3s ease;
|
||||
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
|
||||
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
.tip-card li:hover {
|
||||
@@ -887,6 +1120,35 @@ body {
|
||||
padding: 8px 12px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
/* 手机端性能优化 - 减少动画 */
|
||||
.title {
|
||||
animation: none;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
animation: none;
|
||||
}
|
||||
|
||||
.input-label {
|
||||
animation: none;
|
||||
}
|
||||
|
||||
.date-input {
|
||||
animation: none;
|
||||
}
|
||||
|
||||
.query-btn {
|
||||
animation: none;
|
||||
}
|
||||
|
||||
.card-icon {
|
||||
animation: none;
|
||||
}
|
||||
|
||||
.tip-icon {
|
||||
animation: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* 超小屏幕适配 (480px以下) */
|
||||
@@ -1004,6 +1266,35 @@ body {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* 禁用复杂动画以提升性能 */
|
||||
.title {
|
||||
animation: none;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
animation: none;
|
||||
}
|
||||
|
||||
.input-label {
|
||||
animation: none;
|
||||
}
|
||||
|
||||
.date-input {
|
||||
animation: none;
|
||||
}
|
||||
|
||||
.query-btn {
|
||||
animation: none;
|
||||
}
|
||||
|
||||
.card-icon {
|
||||
animation: none;
|
||||
}
|
||||
|
||||
.tip-icon {
|
||||
animation: none;
|
||||
}
|
||||
|
||||
.loading-content {
|
||||
gap: 15px;
|
||||
}
|
||||
@@ -1047,12 +1338,14 @@ body {
|
||||
.hour-name {
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
color: #ffffff;
|
||||
color: #2c3e50;
|
||||
text-align: center;
|
||||
margin-bottom: 8px;
|
||||
padding: 4px 8px;
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
border-radius: 6px;
|
||||
text-shadow: 0 1px 2px rgba(255, 255, 255, 0.5);
|
||||
border: 1px solid rgba(255, 255, 255, 0.9);
|
||||
}
|
||||
|
||||
.hour-content {
|
||||
|
||||
Reference in New Issue
Block a user