Zzc f6e40b8775 refactor(screen): 更新 3D 态势感知 UI 样式和布局
- 将 CSS 颜色变量移至全局样式,以解决 Vue 作用域样式问题
- 添加背景图片并调整组件布局以改善视觉设计
- 通过基于源的颜色编码增强 CollaborationInfo
- 重新定位 PageHeader 并更新 RightPanel 结构以实现更好的集成
- 对 ForceDispatch、ForcePreset 及其他组件进行微调
2025-11-17 17:59:25 +08:00

139 lines
2.3 KiB
SCSS
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.

@use '@/styles/mixins.scss' as *;
/**
* 3D态势感知公共样式
*
* 注意CSS 变量(--primary-color, --text-white 等)已定义在全局样式中
* 文件位置:/src/styles/index.scss
*
* 这样可以避免 Vue scoped 样式导致的 :root 变量不生效问题
*/
// 公共面板样式
.panel {
display: flex;
flex-direction: column;
background-size: 100% 100%;
background-repeat: no-repeat;
&--scrollable {
overflow-y: auto;
overscroll-behavior: contain;
scrollbar-width: thin;
scrollbar-color: var(--primary-light) transparent;
&::-webkit-scrollbar {
width: vw(4);
}
&::-webkit-scrollbar-track {
background: transparent;
}
&::-webkit-scrollbar-thumb {
background: var(--primary-light);
border-radius: vw(2);
&:hover {
background: rgba(28, 161, 255, 0.6);
}
}
}
}
// 公共文字样式
.text {
&--title {
color: var(--text-white);
font-family: SourceHanSansCN-Bold, sans-serif;
font-weight: 700;
}
&--subtitle {
color: var(--text-gray);
font-family: SourceHanSansCN-Medium, sans-serif;
font-weight: 500;
}
&--label {
color: var(--text-white);
font-family: SourceHanSansCN-Medium, sans-serif;
font-weight: 500;
}
&--value {
color: var(--text-white);
font-family: PingFangSC-Semibold, sans-serif;
font-weight: 600;
}
&--success {
color: var(--success-color);
}
&--warning {
color: var(--warning-color);
}
&--danger {
color: var(--danger-color);
}
}
// 公共按钮样式
.button {
border: none;
cursor: pointer;
transition: opacity 0.3s, transform 0.2s;
font-family: SourceHanSansCN-Medium, sans-serif;
&:hover {
opacity: 0.8;
}
&:active {
transform: scale(0.98);
}
&--primary {
background: var(--primary-color);
color: var(--text-white);
}
&--secondary {
background: var(--bg-panel);
color: var(--text-white);
border: 1px solid var(--border-color);
}
}
// Flexbox 工具类
.flex {
display: flex;
&-row {
flex-direction: row;
}
&-col {
flex-direction: column;
}
&-center {
align-items: center;
justify-content: center;
}
&-between {
justify-content: space-between;
}
&-around {
justify-content: space-around;
}
&-end {
justify-content: flex-end;
}
}