Files
xhs-think-you/src/styles/thinkyou.css
2025-10-23 12:43:06 +08:00

194 lines
3.8 KiB
CSS

/* Three.js ThinkYou 应用的自定义样式 */
/* 滑块样式 */
.slider::-webkit-slider-thumb {
appearance: none;
height: 20px;
width: 20px;
border-radius: 50%;
background: linear-gradient(45deg, #ff69b4, #9d4edd);
cursor: pointer;
box-shadow: 0 4px 8px rgba(255, 105, 180, 0.3);
transition: all 0.3s ease;
}
.slider::-webkit-slider-thumb:hover {
transform: scale(1.2);
box-shadow: 0 6px 12px rgba(255, 105, 180, 0.5);
}
.slider::-webkit-slider-track {
height: 8px;
border-radius: 4px;
background: linear-gradient(90deg, #4a5568, #2d3748);
outline: none;
}
.slider::-moz-range-thumb {
height: 20px;
width: 20px;
border-radius: 50%;
background: linear-gradient(45deg, #ff69b4, #9d4edd);
cursor: pointer;
border: none;
box-shadow: 0 4px 8px rgba(255, 105, 180, 0.3);
transition: all 0.3s ease;
}
.slider::-moz-range-thumb:hover {
transform: scale(1.2);
box-shadow: 0 6px 12px rgba(255, 105, 180, 0.5);
}
.slider::-moz-range-track {
height: 8px;
border-radius: 4px;
background: linear-gradient(90deg, #4a5568, #2d3748);
outline: none;
border: none;
}
/* 键盘按键样式 */
kbd {
font-family: 'Courier New', monospace;
font-size: 0.75rem;
font-weight: bold;
border: 1px solid #4a5568;
border-bottom: 2px solid #2d3748;
border-radius: 3px;
padding: 2px 6px;
background: linear-gradient(180deg, #4a5568, #2d3748);
color: #e2e8f0;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
/* 容器样式优化 */
.thinkyou-container {
background: radial-gradient(ellipse at center, #1a202c 0%, #0f0f23 70%, #000000 100%);
position: relative;
overflow: hidden;
}
/* 控制面板动画 */
@keyframes slideInLeft {
from {
transform: translateX(-100%);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
.control-panel {
animation: slideInLeft 0.5s ease-out;
}
/* 信息面板动画 */
@keyframes slideInRight {
from {
transform: translateX(100%);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
.info-panel {
animation: slideInRight 0.5s ease-out;
}
/* 按钮悬停效果 */
.control-button {
position: relative;
overflow: hidden;
}
.control-button::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;
}
.control-button:hover::before {
left: 100%;
}
/* 加载动画 */
@keyframes pulse {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
.loading-text {
animation: pulse 2s infinite;
}
/* 星空背景增强 */
.starfield-bg {
background:
radial-gradient(2px 2px at 20px 30px, #eee, transparent),
radial-gradient(2px 2px at 40px 70px, rgba(255, 255, 255, 0.8), transparent),
radial-gradient(1px 1px at 90px 40px, #fff, transparent),
radial-gradient(1px 1px at 130px 80px, rgba(255, 255, 255, 0.6), transparent),
radial-gradient(2px 2px at 160px 30px, #fff, transparent);
background-repeat: repeat;
background-size: 200px 100px;
animation: twinkle 10s infinite linear;
}
@keyframes twinkle {
from { transform: translateY(0); }
to { transform: translateY(-100px); }
}
/* 响应式设计 */
@media (max-width: 768px) {
.control-panel {
width: calc(100% - 2rem);
max-width: 350px;
}
.info-panel {
width: calc(100% - 2rem);
max-width: 300px;
bottom: 1rem;
right: 1rem;
}
.control-button {
font-size: 0.875rem;
padding: 0.5rem 1rem;
}
}
/* 自定义滚动条 */
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: rgba(255, 255, 255, 0.1);
border-radius: 4px;
}
::-webkit-scrollbar-thumb {
background: linear-gradient(45deg, #ff69b4, #9d4edd);
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: linear-gradient(45deg, #ff1493, #8b5cf6);
}