/* 页面布局 CSS 变量 */ :root { /* 头部高度 */ --g-header-height: 60px; /* 侧边栏宽度 */ --g-main-sidebar-width: 80px; --g-sub-sidebar-width: 208px; --g-sub-sidebar-collapse-width: 64px; /* 侧边栏 Logo 区域高度 */ --g-sidebar-logo-height: 50px; /* 标签栏高度 */ --g-tabbar-height: 50px; /* 工具栏高度 */ --g-toolbar-height: 50px; /* 按钮主题色 */ --el-color-primary: #0083ff; /* 元素边框圆角基础值 */ --el-border-radius-base: 2px; /* 元素字体粗细基础值 */ --el-font-weight-primary: 400; /* 元素字体基础值 */ --el-font-family: pingfang sc, pingfang sc; --el-text-color-primary:#666; --el-text-color-regular:#333; } /* 明暗模式 CSS 变量 */ /* stylelint-disable-next-line no-duplicate-selectors */ :root { --g-box-shadow-color: rgb(0 0 0 / 12%); &::view-transition-old(root), &::view-transition-new(root) { mix-blend-mode: normal; animation: none; } &::view-transition-old(root) { z-index: 1; } &::view-transition-new(root) { z-index: 9999; } &.dark { --g-box-shadow-color: rgb(0 0 0 / 72%); &::view-transition-old(root) { z-index: 9999; } &::view-transition-new(root) { z-index: 1; } } } /* 全局输入框占位符样式 */ .el-input ::placeholder { color: #d9d9d9; } ::-webkit-scrollbar { width: 12px; height: 12px; } ::-webkit-scrollbar-thumb { background-color: rgb(0 0 0 / 40%); background-clip: padding-box; border: 3px solid transparent; border-radius: 6px; } ::-webkit-scrollbar-thumb:hover { background-color: rgb(0 0 0 / 50%); } ::-webkit-scrollbar-track { background-color: transparent; } html, body { height: 100%; } body { box-sizing: border-box; margin: 0; font-family: PingFang SC; background-color: var(--g-container-bg); -webkit-tap-highlight-color: transparent; &.overflow-hidden { overflow: hidden; } } * { box-sizing: inherit; } #app { height: 100%; } /* 右侧内容区针对fixed元素,有横向铺满的需求,可在fixed元素上设置 [data-fixed-calc-width] */ [data-fixed-calc-width] { position: fixed; right: 0; left: 50%; width: calc(100% - var(--g-main-sidebar-actual-width) - var(--g-sub-sidebar-actual-width)); transform: translateX(-50%) translateX(calc(var(--g-main-sidebar-actual-width) / 2)) translateX(calc(var(--g-sub-sidebar-actual-width) / 2)); [data-mode="mobile"] & { width: 100% !important; transform: translateX(-50%) !important; } } /* textarea 字体跟随系统 */ textarea { font-family: inherit; } /* Overrides Floating Vue */ .v-popper--theme-dropdown, .v-popper--theme-tooltip { --uno: inline-flex; } .v-popper--theme-dropdown .v-popper__inner, .v-popper--theme-tooltip .v-popper__inner { --uno: bg-white dark-bg-stone-8 text-dark dark-text-white rounded shadow ring-1 ring-gray-200 dark-ring-gray-800 border border-solid border-stone/20 text-xs font-normal; box-shadow: 0 6px 30px rgb(0 0 0 / 10%); } .v-popper--theme-tooltip .v-popper__arrow-inner, .v-popper--theme-dropdown .v-popper__arrow-inner { visibility: visible; --uno: border-white dark-border-stone-8; } .v-popper--theme-tooltip .v-popper__arrow-outer, .v-popper--theme-dropdown .v-popper__arrow-outer { --uno: border-stone/20; } .v-popper--theme-tooltip.v-popper--shown, .v-popper--theme-tooltip.v-popper--shown * { transition: none !important; } [data-overlayscrollbars-contents] { overscroll-behavior: contain; } .transition-all { border-radius: 8px; } .height100 { height: 100%; } .u-f-column { flex-direction: column; } .flex { display: flex; } .f-wrap { flex-wrap: wrap; } .j-s { justify-content: space-between; } .j-c { justify-content: center; } .j-start { justify-content: flex-start; } .j-end { justify-content: flex-end; } .a-c { align-items: center; } .a-start { align-items: flex-start; } .a-end { align-items: flex-end; } .f-c { flex-direction: column; } .mrgin-1 { margin: 10px; } .mrgin-2 { margin: 20px; } .m-top-5 { margin-top: 5px; } .m-top-10 { margin-top: 10px; } .m-btn-10 { margin-bottom: 10px; } .m-btn-15 { margin-bottom: 15px; } .m-btn-20 { margin-bottom: 20px; } .vh100 { height: calc(100vh - 158px); border-radius: 5px; } .strong { font-size: 14px; font-weight: bold; } .size14 { font-size: 14px; } .pad-1 { padding: 10px; } .pad-2 { padding: 20px; } .pad-3 { padding: 30px; } .m-top-20 { margin-top: 20px; } .m-left-10 { margin-left: 10px; } .m-left-20 { margin-left: 20px; } .m-right-10 { margin-right: 10px; } .m-right-20 { margin-right: 20px; } /* 消息提示弹窗 */ .el-message-box { padding: 32px 32px 24px; } .el-message-box .el-message-box__title { gap: 17px; align-items: center; justify-content: flex-start; font-weight: bold; } .el-message-box .el-message-box__title .el-icon { font-size: x-large; } .el-message-box .el-message-box__title .el-message-box-icon--info { color: #0083ff; } .el-message-box .el-message-box__btns { justify-content: flex-end; padding-top: 24px; } .el-message-box .el-message-box__content { padding-left: 40px; } .el-message-box .el-message-box__content .el-message-box__container { justify-content: flex-start; } /* 消息提示弹窗 */ /* dialog对话框样式 */ .el-dialog { padding: 0; } .el-dialog__header { padding: 13px; text-align: center; border-bottom: 1px solid #eee; } .el-dialog__header .el-dialog__title { font-weight: bold; color: #333; } .el-dialog__body { padding: 24px; } .el-dialog__footer { padding: 13px 24px; border-top: 1px solid #eee; } /* dialog对话框样式 */ /* 全局样式 */ .el-message { z-index: 9999999 !important; } .bg-\[var\(--g-sub-sidebar-menu-active-bg\)\]\! { background: var(--g-sub-sidebar-menu-active-bg) /* var(--g-sub-sidebar-menu-active-bg) */ !important; } .bg-\[var\(--g-header-menu-active-bg\)\]\! { background-color: #ffffff1a /* var(--g-header-menu-active-bg) */ !important; } .text-\[var\(--g-header-menu-active-color\)\]\! { color: #fff /* var(--g-header-menu-active-color) */ !important; } .sub-menu { background: #f6fbff; }