271 lines
5.3 KiB
CSS
271 lines
5.3 KiB
CSS
/* 移动控制相关样式 */
|
|
.container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 80vh;
|
|
padding: 20px;
|
|
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
|
}
|
|
|
|
.title {
|
|
font-size: 28px;
|
|
font-weight: bold;
|
|
color: #333;
|
|
margin-bottom: 40px;
|
|
text-align: center;
|
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
/* 手柄风格布局 */
|
|
.controller {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 30px;
|
|
width: 100%;
|
|
max-width: 600px;
|
|
}
|
|
|
|
/* 控制器布局 */
|
|
.controller-layout {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-around;
|
|
width: 100%;
|
|
padding: 30px;
|
|
background: linear-gradient(145deg, #e6e6e6, #ffffff);
|
|
border-radius: 20px;
|
|
box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1), -10px -10px 20px rgba(255, 255, 255, 0.7);
|
|
}
|
|
|
|
/* 方向键区域 */
|
|
.dpad {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 10px;
|
|
}
|
|
|
|
.dpad-row {
|
|
display: flex;
|
|
gap: 10px;
|
|
}
|
|
|
|
/* 中间录制回放控制 */
|
|
.center-controls {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 15px;
|
|
align-items: center;
|
|
}
|
|
|
|
/* 右侧旋转控制 */
|
|
.rotate-controls {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 15px;
|
|
align-items: center;
|
|
}
|
|
|
|
/* 按钮样式 */
|
|
.btn {
|
|
width: 70px;
|
|
height: 70px;
|
|
border: none;
|
|
border-radius: 15px;
|
|
font-size: 20px;
|
|
font-weight: bold;
|
|
cursor: pointer;
|
|
transition: all 0.3s ease;
|
|
position: relative;
|
|
overflow: hidden;
|
|
box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1), -5px -5px 10px rgba(255, 255, 255, 0.7);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.btn::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: linear-gradient(135deg, rgba(255,255,255,0.2), rgba(255,255,255,0));
|
|
z-index: 1;
|
|
}
|
|
|
|
.btn span {
|
|
position: relative;
|
|
z-index: 2;
|
|
}
|
|
|
|
/* 方向按钮样式 */
|
|
.btn-forward {
|
|
background: linear-gradient(145deg, #4CAF50, #45a049);
|
|
color: white;
|
|
}
|
|
|
|
.btn-backward {
|
|
background: linear-gradient(145deg, #f44336, #da190b);
|
|
color: white;
|
|
}
|
|
|
|
.btn-left {
|
|
background: linear-gradient(145deg, #2196F3, #1976D2);
|
|
color: white;
|
|
}
|
|
|
|
.btn-right {
|
|
background: linear-gradient(145deg, #FF9800, #F57C00);
|
|
color: white;
|
|
}
|
|
|
|
/* 斜向按钮样式 */
|
|
.btn-forward-left {
|
|
background: linear-gradient(145deg, #4CAF50, #45a049);
|
|
color: white;
|
|
}
|
|
|
|
.btn-forward-right {
|
|
background: linear-gradient(145deg, #4CAF50, #45a049);
|
|
color: white;
|
|
}
|
|
|
|
.btn-backward-left {
|
|
background: linear-gradient(145deg, #f44336, #da190b);
|
|
color: white;
|
|
}
|
|
|
|
.btn-backward-right {
|
|
background: linear-gradient(145deg, #f44336, #da190b);
|
|
color: white;
|
|
}
|
|
|
|
/* 旋转按钮样式 */
|
|
.btn-rotate-left {
|
|
background: linear-gradient(145deg, #9C27B0, #7B1FA2);
|
|
color: white;
|
|
}
|
|
|
|
.btn-rotate-right {
|
|
background: linear-gradient(145deg, #607D8B, #455A64);
|
|
color: white;
|
|
}
|
|
|
|
/* 中心方块样式 */
|
|
.btn-center {
|
|
background: linear-gradient(145deg, #666666, #444444);
|
|
box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1), -5px -5px 10px rgba(255, 255, 255, 0.7);
|
|
cursor: default;
|
|
}
|
|
|
|
.btn-center:hover {
|
|
transform: none;
|
|
box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1), -5px -5px 10px rgba(255, 255, 255, 0.7);
|
|
}
|
|
|
|
.btn-center:active {
|
|
transform: none;
|
|
box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1), -5px -5px 10px rgba(255, 255, 255, 0.7);
|
|
}
|
|
|
|
/* 录制回放按钮样式 */
|
|
.btn-record {
|
|
background: linear-gradient(145deg, #FF5722, #E64A19);
|
|
color: white;
|
|
width: 120px;
|
|
height: 50px;
|
|
font-size: 16px;
|
|
border-radius: 25px;
|
|
}
|
|
|
|
.btn-playback {
|
|
background: linear-gradient(145deg, #00BCD4, #0097A7);
|
|
color: white;
|
|
width: 120px;
|
|
height: 50px;
|
|
font-size: 16px;
|
|
border-radius: 25px;
|
|
}
|
|
|
|
/* 按钮动画效果 */
|
|
.btn:hover {
|
|
transform: translateY(-3px);
|
|
box-shadow: 8px 8px 16px rgba(0, 0, 0, 0.15), -8px -8px 16px rgba(255, 255, 255, 0.8);
|
|
}
|
|
|
|
.btn:active {
|
|
transform: translateY(0);
|
|
box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.2), -3px -3px 6px rgba(255, 255, 255, 0.6);
|
|
}
|
|
|
|
/* 状态显示 */
|
|
.status {
|
|
margin-top: 30px;
|
|
padding: 20px;
|
|
background: linear-gradient(145deg, #f5f5f5, #e0e0e0);
|
|
border-radius: 15px;
|
|
min-height: 60px;
|
|
width: 100%;
|
|
max-width: 400px;
|
|
text-align: center;
|
|
box-shadow: inset 5px 5px 10px rgba(0, 0, 0, 0.1), inset -5px -5px 10px rgba(255, 255, 255, 0.7);
|
|
}
|
|
|
|
.status p {
|
|
color: #666;
|
|
margin: 0;
|
|
font-size: 18px;
|
|
font-weight: 500;
|
|
}
|
|
|
|
/* 响应式设计 */
|
|
@media (max-width: 650px) {
|
|
.controller-layout {
|
|
flex-direction: column;
|
|
gap: 20px;
|
|
padding: 20px;
|
|
}
|
|
|
|
.dpad-row {
|
|
gap: 8px;
|
|
}
|
|
|
|
.btn {
|
|
width: 60px;
|
|
height: 60px;
|
|
font-size: 18px;
|
|
}
|
|
|
|
.btn-record, .btn-playback {
|
|
width: 100px;
|
|
height: 45px;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.title {
|
|
font-size: 24px;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 400px) {
|
|
.btn {
|
|
width: 50px;
|
|
height: 50px;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.btn-record, .btn-playback {
|
|
width: 90px;
|
|
height: 40px;
|
|
font-size: 13px;
|
|
}
|
|
|
|
.title {
|
|
font-size: 20px;
|
|
}
|
|
} |