139 lines
2.9 KiB
CSS
139 lines
2.9 KiB
CSS
/* 背景样式文件 */
|
|
|
|
/* 主体背景 */
|
|
body {
|
|
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
|
background-attachment: fixed;
|
|
}
|
|
|
|
/* 淡绿色渐变背景变体 */
|
|
body::before {
|
|
content: '';
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: linear-gradient(135deg, #e8f5e8 0%, #a8e6a3 50%, #81c784 100%);
|
|
opacity: 0.3;
|
|
z-index: -2;
|
|
}
|
|
|
|
/* 动态背景装饰 */
|
|
body::after {
|
|
content: '';
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-image:
|
|
radial-gradient(circle at 20% 80%, rgba(39, 174, 96, 0.1) 0%, transparent 50%),
|
|
radial-gradient(circle at 80% 20%, rgba(46, 204, 113, 0.1) 0%, transparent 50%),
|
|
radial-gradient(circle at 40% 40%, rgba(52, 152, 219, 0.05) 0%, transparent 50%);
|
|
z-index: -1;
|
|
animation: backgroundFloat 20s ease-in-out infinite;
|
|
}
|
|
|
|
/* 背景动画 */
|
|
@keyframes backgroundFloat {
|
|
0%, 100% {
|
|
transform: translateY(0px) rotate(0deg);
|
|
}
|
|
33% {
|
|
transform: translateY(-10px) rotate(1deg);
|
|
}
|
|
66% {
|
|
transform: translateY(5px) rotate(-1deg);
|
|
}
|
|
}
|
|
|
|
/* 词汇卡片背景增强 */
|
|
.vocabulary-card {
|
|
background: rgba(255, 255, 255, 0.95);
|
|
backdrop-filter: blur(10px);
|
|
-webkit-backdrop-filter: blur(10px);
|
|
}
|
|
|
|
/* 按钮背景效果 */
|
|
.control-btn::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
left: -100%;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
|
|
transition: left 0.5s;
|
|
z-index: -1;
|
|
}
|
|
|
|
.control-btn {
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.control-btn:hover::before {
|
|
left: 100%;
|
|
}
|
|
|
|
/* 模式按钮背景效果 */
|
|
.mode-btn {
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.mode-btn::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
left: -100%;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
|
|
transition: left 0.4s;
|
|
z-index: -1;
|
|
}
|
|
|
|
.mode-btn:hover::before {
|
|
left: 100%;
|
|
}
|
|
|
|
/* 响应式背景调整 */
|
|
@media (max-width: 768px) {
|
|
body::after {
|
|
animation-duration: 15s;
|
|
}
|
|
|
|
.vocabulary-card {
|
|
background: rgba(255, 255, 255, 0.98);
|
|
}
|
|
}
|
|
|
|
@media (max-width: 480px) {
|
|
body::before {
|
|
opacity: 0.2;
|
|
}
|
|
|
|
body::after {
|
|
animation: none;
|
|
}
|
|
}
|
|
|
|
/* 深色模式背景支持 */
|
|
@media (prefers-color-scheme: dark) {
|
|
body {
|
|
background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
|
|
}
|
|
|
|
body::before {
|
|
background: linear-gradient(135deg, #27ae60 0%, #2ecc71 50%, #16a085 100%);
|
|
opacity: 0.1;
|
|
}
|
|
|
|
.vocabulary-card {
|
|
background: rgba(44, 62, 80, 0.95);
|
|
color: #ecf0f1;
|
|
border-color: rgba(39, 174, 96, 0.3);
|
|
}
|
|
} |