Files
bella/style.css
你的名字 0074310ef2 feat(video): add video fit toggle button and update styling
- Add toggle button to switch between 'cover' and 'contain' video fit modes
- Update video background styling for simpler positioning
- Group upload and fit buttons in a flex container
2025-07-16 14:21:15 +08:00

190 lines
3.8 KiB
CSS
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.
/* --- 基本重置和全局样式 --- */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html, body {
height: 100%;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
color: white;
overflow: hidden; /* 防止视频导致滚动条 */
}
/* --- 视频背景 --- */
#bg-video {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1; /* 将视频置于最底层 */
object-fit: cover; /* 默认填满整个屏幕裁剪JS会切换它 */
background-color: #1a1a1a; /* 视频加载前的背景色 */
}
/* --- 内容覆盖层 --- */
.content-overlay {
position: relative;
height: 100vh;
width: 100%;
display: flex;
flex-direction: column;
justify-content: space-between; /* 顶部和底部分别对齐 */
align-items: center;
padding: 25px;
background-color: rgba(0, 0, 0, 0.35); /* 半透明黑色蒙版,确保文字清晰可见 */
z-index: 1;
}
/* --- 顶部好感度条 --- */
.top-bar {
width: 100%;
max-width: 500px;
text-align: left;
}
.top-bar label {
font-size: 1rem;
font-weight: 600;
text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
margin-bottom: 8px;
display: block;
}
.progress-container {
width: 100%;
height: 12px;
background-color: rgba(255, 255, 255, 0.3);
border-radius: 10px;
overflow: hidden;
}
.progress-fill {
height: 100%;
width: 65%; /* 初始好感度值 */
background: linear-gradient(90deg, #4facfe, #00f2fe);
border-radius: 10px;
transition: width 0.5s ease-in-out;
}
/* --- 中间内容 (上传按钮) --- */
.center-content {
/* 这个区域是弹性填充的,所以不需要太多样式 */
}
.button-container {
display: flex;
gap: 10px; /* 按钮之间的间距 */
}
.upload-button {
background-color: rgba(255, 255, 255, 0.2);
border: 1px solid rgba(255, 255, 255, 0.5);
padding: 8px 16px;
border-radius: 20px;
cursor: pointer;
font-size: 0.9rem;
transition: background-color 0.3s ease;
}
.upload-button:hover {
background-color: rgba(255, 255, 255, 0.4);
}
/* --- 底部内容 --- */
.bottom-bar {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
}
.mic-button {
width: 80px;
height: 80px;
background: linear-gradient(45deg, #ff5f6d, #ffc371);
border: none;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.mic-button:hover {
transform: scale(1.1);
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}
.mic-button:active {
transform: scale(1.05);
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}
.mic-button i {
font-size: 36px;
color: white;
}
/* 麦克风 "监听中" 的动画效果 */
.mic-button.is-listening {
animation: pulse 1.5s infinite;
}
@keyframes pulse {
0% {
box-shadow: 0 0 0 0 rgba(255, 95, 109, 0.7);
}
70% {
box-shadow: 0 0 0 20px rgba(255, 95, 109, 0);
}
100% {
box-shadow: 0 0 0 0 rgba(255, 95, 109, 0);
}
}
.footer-credit {
margin-top: 20px;
color: rgba(255, 255, 255, 0.8);
text-decoration: none;
font-size: 1rem;
transition: color 0.3s ease;
}
.footer-credit:hover {
color: white;
text-decoration: underline;
}
/* --- 响应式设计 --- */
@media (max-width: 600px) {
.content-overlay {
padding: 20px;
}
.top-bar label {
font-size: 0.9rem;
}
.progress-container {
height: 10px;
}
.mic-button {
width: 70px;
height: 70px;
}
.mic-button i {
font-size: 30px;
}
.footer-credit {
margin-top: 15px;
font-size: 0.9rem;
}
}