提示:本文仅是记录我修改element-plus等组件库的css变量,
具体【实现主题色切换看这篇】即可
文章目录
- 1.文件划分
- 2.src/style/index.scss入口文件
- 3.src/style/theme.scss主题色切换维护
- 4.src/style/_color-utils.scss动态生成element-plus的scss变量
- 5.src/style/element.scss 默认element-plus的light主题色
- 6.src/style/element-dark.scss深色的element-plus主题色
- 7.src/style/reset-vxetable.scss默认vxetable的主题色
- 8.src/style/vxe-ui-dark.scss深色的vxetable主题色
- 9.src/style/base.scss 基础样式
- 10.src/style/setting.scss通用类名
- 11.src/style/variable.scss通用变量
- 12.src/style/yan-page.scss 页面样式
1.文件划分
main.js引入
import "@/style/index.scss"
2.src/style/index.scss入口文件
@use "./base.scss";
@use "./setting.scss";
@use "element-plus/theme-chalk/src/index.scss";
@use "./yan-page.scss";
@import "./reset-vxetable";
@import "./theme.scss";// 深色模式手动修改class色(这里记录的就是通过css变量可能会影响多个组件样式,只能通过具体类名修改具体组件样式。或者是主题色渲染出来不是自己想要的,特殊处理下样式)
.dark {// 下拉.el-select-dropdown__item.is-hovering {background-color: var(--my-hover-color);}.el-select-dropdown__item.is-selected {color: #fff;background-color: var(--theme-color-primary);}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-selected::after {background-color: var(--my-light-color);}.el-select-dropdown__item.is-disabled {color: var(--my-disabled-color);}// 下拉多选.el-select__selection .el-tag {color: #fff;background-color: var(--my-btn-select-bgc); // var(--my-hover-color);}.el-tag .el-tag__close {color: #fff;}// 树.el-tree {background: #24435e; // 背景色--el-tree-node-hover-bg-color: #2c5272; // hover}// 单选多选.el-radio {--el-radio-input-bg-color: var(--my-btn-bgc); // 单选填充色-可选}.el-checkbox {--el-checkbox-bg-color: var(--my-btn-bgc); // 多选填充色-可选}.el-radio__input.is-disabled + span.el-radio__label,.el-checkbox__input.is-disabled + span.el-checkbox__label {color: var(--my-disabled-color);}// 弹框.el-dialog,.el-overlay {--el-dialog-bg-color: #2f5779;.el-form {background-color: #2f5779;}.wbg {background-color: transparent;}}.jg-dialog .el-dialog__header {border-bottom-color: var(--my-btn-border-color);}.jg-dialog .el-dialog__footer {border-top-color: var(--my-btn-border-color);}.el-table__body tr:hover > td {background-color: var(--my-btn-bgc) !important;}.el-table th.el-table__cell {background-color: var(--my-btn-bgc); // 表格头背景}.col_bgc {background-color: var(--my-btn-bgc);color: #fff;}.my-drawer .el-drawer__header {border-bottom-color: var(--my-btn-border-color);}// // message// .el-message {// --el-color-success-light-9: rgb(28.3, 37.4, 23.8);// }// 按钮 抛弃生成色 使用UI设计稿.el-button--primary.is-link {color: var(--my-light-color); // 操作列按钮}.el-button--primary.is-disabled {color: var(--my-disabled-color); // 操作列按钮}.el-button--primary.is-link:hover,.el-button--primary.is-disabled:hover {color: var(--my-disabled-color); // 操作列按钮}// form表单内容.el-form-item__content {color: #fff;}// tip.el-popper.is-dark {color: #fff;background: var(--theme-color-primary);border: 1px solid var(--theme-color-primary);.el-popper__arrow::before {border: 1px solid var(--theme-color-primary);background: var(--theme-color-primary);right: 0;}}//通用修改原黑色与白色标题名称.title_name {color: #fff !important;}
}// 实现切换主题动画
::view-transition-old(root),
::view-transition-new(root) {animation: none;mix-blend-mode: normal;
}::view-transition-old(root) {z-index: 1;
}::view-transition-new(root) {z-index: 2147483646;
}.dark::view-transition-old(root) {z-index: 2147483646;
}.dark::view-transition-new(root) {z-index: 1;
}// 滚动条设置
::-webkit-scrollbar-track-piece {//滚动条凹槽的颜色,还可以设置边框属性background-color: var(--my-scrollbar-track-color);
}::-webkit-scrollbar {//滚动条的宽度width: 6px;height: 6px;
}::-webkit-scrollbar-thumb {//滚动条的设置background-color: var(--my-scrollbar-color);background-clip: padding-box;min-height: 10px;border-radius: 6px;
}::-webkit-scrollbar-thumb:hover {background-color: var(--my-scrollbar-hover-color);
}// 右下角小方块
::-webkit-scrollbar-corner {background-color: transparent;
}
3.src/style/theme.scss主题色切换维护
/** element内置暗黑主题 */
@use "element-plus/theme-chalk/src/dark/css-vars.scss" as *;// 可以进行一些样式的覆盖
html {--my-scrollbar-track-color: #f8f8f8; // 滚动条凹槽颜色--my-scrollbar-color: #dddddd; // 滚动条颜色--my-scrollbar-hover-color: #bbb; // 滚动条hover颜色// 替换色--my-link-color: #11716f; // 链接颜色--my-link-color2: #00706b; // 链接颜色--my-link-color3: #007d7b; // 顶部导航色--my-link-active: #0fa081; // 顶部导航选中色--my-primary-checkout: #007d7b; // 切换主题色--my-333-color: #333;--my-eff3f8-color: #eff3f8;--my-flow-color: #f2f0f0; // 页面自定义颜色
}html.dark {--my-main-bgc: #253d52; // 页面背景色--my-btn-bgc: #234a6b; // 按钮背景色、表头、灰色区、tab多页签颜色\ 单选多选填充色--my-btn-select-bgc: #0084cb; // 选中背景色--my-btn-disabled-bgc: #3d5366; // 单选、多选、输入框等组件禁用背景色--my-disabled-color: #8d9095; // #617586; // 禁用文本颜色--my-btn-border-color: #347cbb; // 按钮边框色\弹框边框色--my-light-color: #65c9ff; // 高亮文本颜色、链接颜色--my-placeholder-color: #8cbce3; // placeholder--my-hover-color: #5c9dd5; // 自己hover--my-select-bgc: #2a699e; // 下拉框背景色--my-table-light-color: rgba(35, 74, 107, 0.4); // 表格斑马线--my-scrollbar-track-color: transparent; // 滚动条凹槽颜色--my-scrollbar-color: #234a6b; // 滚动条颜色--my-scrollbar-hover-color: var(--my-btn-select-bgc); // 滚动条hover颜色// 基本状态色--theme-color-primary: #0084cb;--theme-color-success: #60c888;--theme-color-warning: #d7bf0a;--theme-color-danger: #f56c6c;--theme-color-error: #cd7b00;--theme-color-info: #909399;.wbg {background-color: var(--my-main-bgc);}.theme_div {background-color: #1fff;}// 差异化样式// 替换色--my-link-color: var(--my-light-color); // 链接颜色--my-link-color2: var(--my-light-color); // 链接颜色--my-link-color3: var(--my-main-bgc); // 顶部导航色--my-link-active: var(--my-btn-select-bgc); // 顶部导航选中色--my-primary-checkout: var(--theme-color-primary); // 切换主题色--my-333-color: #fff;--my-eff3f8-color: var(--my-main-bgc);--my-flow-color: var(--my-btn-bgc); // 页面自定义颜色
}@import "./element-dark.scss";
@import "./vxe-ui-dark.scss";
4.src/style/_color-utils.scss动态生成element-plus的scss变量
@use "sass:color";// 增强版颜色混合函数
@function adjust-hover($base, $percentage: 10%) {@if type-of($base) == "string" and str-index($base, "var(") {@return unquote("color-mix(in srgb, #{$base} 90%, white 10%)");}@return color.mix(white, $base, $percentage);
}@function adjust-active($base, $percentage: 20%) {@if type-of($base) == "string" and str-index($base, "var(") {@return unquote("color-mix(in srgb, #{$base} 80%, black 20%)");}@return color.mix(black, $base, $percentage);
}@mixin generate-color-variants($name, $base-color) {--el-color-#{$name}: #{$base-color};--el-color-#{$name}-light-3: #{adjust-hover($base-color, 30%)};--el-color-#{$name}-light-5: #{adjust-hover($base-color, 50%)};--el-color-#{$name}-light-7: #{adjust-hover($base-color, 70%)};--el-color-#{$name}-light-8: #{adjust-active($base-color, 50%)};// --el-color-#{$name}-light-9: #{adjust-active($base-color, 90%)}; // 按照Ui样式手动书写--el-color-#{$name}-dark-2: #{adjust-active($base-color, 20%)};// 专门为按钮添加的hover变量--el-button-#{$name}-hover-bg-color: #{adjust-hover($base-color)};--el-button-#{$name}-active-bg-color: #{adjust-active($base-color)};
}
5.src/style/element.scss 默认element-plus的light主题色
// index.scss
@forward "element-plus/theme-chalk/src/common/var.scss" with ($colors: ("white": #ffffff,"black": #000000,"primary": ("base": #007d7b),"success": ("base": #8bc34a),"warning": ("base": #ffc107),"danger": ("base": #f56c6c),"error": ("base": #ff5722),"info": ("base": #909399))
);
6.src/style/element-dark.scss深色的element-plus主题色
注释掉的css最好别打开,可能这一个变量影响多个组件样式
/** element内置暗黑主题 */
@use "element-plus/theme-chalk/src/dark/css-vars.scss" as *;@use "./color-utils" as color;html.dark {// Element Plus 主色--el-color-primary: var(--theme-color-primary);--el-color-success: var(--theme-color-success);--el-color-warning: var(--theme-color-warning);--el-color-danger: var(--theme-color-danger);--el-color-error: var(--theme-color-error);--el-color-info: var(--theme-color-info);// 动态生成颜色@include color.generate-color-variants("primary", #0084cb);@include color.generate-color-variants("success", #60c888);@include color.generate-color-variants("warning", #d7bf0a);@include color.generate-color-variants("danger", #f56c6c);@include color.generate-color-variants("error", #cd7b00);@include color.generate-color-variants("info", #909399);--el-color-primary-light-9: rgba(43, 128, 185, 0.1);--el-color-success-light-9: rgba(96, 200, 136, 0.1);--el-color-warning-light-9: rgba(255, 153, 0, 0.1);--el-color-danger-light-9: rgba(245, 108, 108, 0.1);--el-color-error-light-9: rgba(226, 201, 60, 0.1);--el-color-info-light-9: rgba(153, 153, 153, 0.1);// --el-fill-color-blank: var(--my-btn-bgc); // 表单输入框、下拉、时间等填充色-可选--el-fill-color-light: var(--my-btn-disabled-bgc); // 单选填充色-禁用--el-border-color-extra-light: var(--my-btn-disabled-bgc); // 多选填充色-禁用--el-border-color: var(--my-btn-border-color); // 边框色--el-bg-color: var(--my-main-bgc); // 诸多组件背景色--el-text-color-primary: #fff; // 主文字颜色// --el-bg-color-page: #f1ff;// --el-text-color-regular: #f1ff;// --el-text-color-secondary: #f1ff;--el-input-focus-border-color: var(--el-color-primary); // 表单组件聚焦边框色--el-border-color-hover: var(--my-hover-color); // 表单组件hover边框色--el-input-clear-hover-color: var(--my-hover-color); // 表单组件删除按钮hover色--el-text-color-placeholder: var(--my-placeholder-color); // 表单组件placeholder--el-bg-color-overlay: var(--my-select-bgc); // 表单组件背景色--el-text-color-regular: #fff; // 表单组件文字颜色// --el-input-text-color: red;// --el-text-color-disabled: #f1ff;// --el-border-color: #f1ff;--el-border-color-light: var(--my-btn-border-color);--el-mask-color: rgba(34, 54, 72, 0.9); // 主背景0.9透明度--el-text-color-secondary: #fff; // 表头文本色--el-border-color-lighter: var(--my-btn-border-color); // 时间选择器周边框// --el-border-color-extra-light: #f1ff;// --el-border-color-dark: #f1ff;// --el-border-color-darker: #f1ff;// --el-fill-color: #f1ff;// --el-fill-color-light: #f1ff;--el-fill-color-lighter: var(--my-table-light-color); // 表格斑马线// --el-fill-color-extra-light: #f1ff;// --el-fill-color-dark: #f1ff;// --el-fill-color-darker: #f1ff;// --el-fill-color-blank: #f1ff;// --el-box-shadow: "0px 12px 32px 4px rgba(0, 0, 0, 0.04), 0px 8px 20px rgba(0, 0, 0, 0.08)";--el-box-shadow-light: "0px 0px 12px rgba(0, 0, 0, 0.12)";// --el-box-shadow-lighter: "0px 0px 6px rgba(0, 0, 0, 0.12)";// --el-box-shadow-dark: "0px 16px 48px 16px rgba(0, 0, 0, 0.08), 0px 12px 32px rgba(0, 0, 0, 0.12), 0px 8px 16px -8px rgba(0, 0, 0, 0.16)";// --el-disabled-bg-color: "var(--el-fill-color-light)";// --el-disabled-text-color: "var(--el-text-color-placeholder)";// --el-disabled-border-color: "var(--el-border-color-light)";// --el-overlay-color: "rgba(0, 0, 0, 0.8)";// --el-overlay-color-light: "rgba(0, 0, 0, 0.7)";// --el-overlay-color-lighter: "rgba(0, 0, 0, 0.5)";// --el-mask-color: "rgba(255, 255, 255, 0.9)";// --el-mask-color-extra-light: "rgba(255, 255, 255, 0.3)";// --el-border-width: "1px";// --el-border-style: "solid";// --el-border-color-hover: "var(--el-text-color-disabled)";// --el-border: "var(--el-border-width) var(--el-border-style) var(--el-border-color)";// --el-svg-monochrome-grey: "var(--el-border-color)";}
7.src/style/reset-vxetable.scss默认vxetable的主题色
// 修改样式变量
$vxe-font-size: 14px;
$vxe-font-color: #666;
$vxe-ui-font-primary-color: #007d7b;
$vxe-ui-font-primary-color-light: #007d7b50;
$vxe-table-font-color: $vxe-font-color;
$vxe-table-border-color: #e8eaec;
$vxe-table-border-radius: 7px;
$vxe-table-header-background-color: #f9fcfc;
$vxe-table-row-striped-background-color: #007d7b07;
$vxe-ui-font-primary-color: #007d7b;@import "vxe-table/styles/index.scss"; // 结合上方修改vxe-table样式变量.vxe-cell {.el-button {font-size: var(--el-font-size-small);}
}// 灰色类名 设置rowClassName
// 表头
.header-cell-class-name-gray {background-color: #f8f8f9 !important;.vxe-cell--title {color: #333333;font-size: 14px;}
}
// 表格斑马色
.row-class-name-gray:nth-child(2n + 1) {background-color: #ffffff !important;
}
.row-class-name-gray:nth-child(2n) {background-color: #fafafa !important;
}
// 表格hover
.row-class-name-gray:hover {background-color: #f1fbfb !important;
}
// 表格文本颜色
.row-class-name-gray {.vxe-cell--label {color: #333333;font-size: 14px;}
}
// hover样式
.row--hover {background: rgba(0, 157, 133, 0.1) !important;
}// 公共表格link样式
.my-link {color: $vxe-ui-font-primary-color !important;cursor: pointer;
}
// 有弹框的数字link样式
.num-link {color: $vxe-ui-font-primary-color !important;cursor: pointer;text-decoration: underline;
}.vxe-table--header {margin: 0;// colgroup {// col {// width: auto !important;// }// }
}
.vxe-cell {.is--disabled {.vxe-table-icon-checkbox-unchecked:before {background-color: #f3f6f9;}}
}
// 工具按钮背景色
.vxe-toolbar-custom-target {background: #007d7b !important;i {color: #fff;}
}
.vxe-table-icon-custom-column:before {// content: ;
}
:root {--vxe-ui-font-color: #606266;--vxe-ui-font-primary-color: #007d7b !important;--vxe-ui-font-primary-lighten-color: #007d7b !important;--vxe-ui-font-primary-darken-color: #007d7b !important;
}.vxe-footer--row {background-color: #f0f8f8;
}// 报表管理的通用表头
.group_table {thead {tr:first-child {height: 54px;.vxe-cell--title {// color: red;font-size: 16px;}}}
}.vxe-table .vxe-sort--asc-btn:hover,
.vxe-table .vxe-sort--desc-btn:hover {color: var(--my-hover-color) !important;
}
8.src/style/vxe-ui-dark.scss深色的vxetable主题色
html.dark {// vxe-table// --vxe-primary-color: #20496e ; // vxe的主题色--vxe-ui-font-primary-color: var(--theme-color-primary) !important; // vxe主题颜色// --vxe-ui-font-primary-tinge-color: #d4d5d7; // 活动颜色--vxe-ui-status-success-color: var(--theme-color-success) !important;--vxe-ui-status-info-color: var(--theme-color-info) !important;--vxe-ui-status-warning-color: var(--theme-color-warning) !important;--vxe-ui-status-error-color: var(--theme-color-danger) !important;--vxe-ui-layout-background-color: var(--my-main-bgc) !important;--vxe-ui-input-border-color: var(--my-btn-border-color) !important; // 多选--vxe-ui-table-row-hover-background-color: var(--my-main-bgc) !important;--vxe-ui-font-primary-lighten-color: var(--theme-color-primary) !important; // 松开颜色--vxe-ui-font-primary-darken-color: var(--theme-color-primary) !important; // 按下颜色--vxe-ui-font-primary-disabled-color: var(--my-btn-bgc) !important; // 工具栏禁用颜色-选中--vxe-ui-font-disabled-color: var(--my-disabled-color) !important; // 工具栏禁用文本颜色-未选--vxe-ui-input-disabled-color: var(--my-btn-disabled-bgc) !important; // 工具栏多选禁用颜色-未选--vxe-ui-tooltip-dark-background-color: var(--theme-color-primary) !important; // tip背景色--vxe-ui-table-column-icon-border-color: #fff !important; // 表格列排序图标边框颜色// --vxe-ui-table-column-icon-background-color: var(--my-btn-disabled-bgc) !important; // 表格列排序图标背景颜色// --vxe-ui-table-column-icon-color: var(--my-btn-disabled-bgc) !important; // 表格列排序图标颜色// --vxe-ui-table-column-icon-hover-color: var(--my-hover-color) !important; // 表格列排序图标hover颜色--vxe-ui-table-header-background-color: var(--my-btn-bgc); // 表格头背景--vxe-ui-table-row-striped-background-color: var(--my-table-light-color); // 表格行背景--vxe-ui-font-color: #ffffff; // 表格字体颜.vxe-toolbar-custom-target {background-color: var(--theme-color-primary) !important;}.row--hover {background: var(--my-btn-bgc) !important;}.vxe-cell .is--disabled .vxe-table-icon-checkbox-unchecked:before {background-color: var(--my-btn-disabled-bgc) !important; // 列表多选框禁用}.vxe-header--column .vxe-resizable.is--line:before {background-color: var(--my-select-bgc); // 表格列拖拽线}.vxe-footer--row {background-color: var(--my-btn-bgc);}
}
9.src/style/base.scss 基础样式
body,
button,
input,
select,
textarea {font-family: "PingFang SC", "Helvetica Neue", Helvetica, Arial, "Microsoft Yahei", "Hiragino Sans GB", "Heiti SC", "WenQuanYi Micro Hei", sans-serif;color: #333;
}body {font-size: 14px;line-height: 1.5;
}body,
h1,
h2,
h3,
h4,
h5,
h6,
dl,
dt,
dd,
ul,
ol,
li,
th,
td,
p,
blockquote,
pre,
form,
fieldset,
legend,
input,
button,
textarea,
article,
aside,
footer,
header,
hgroup,
nav,
section,
menu {margin: 0;padding: 0;// -webkit-text-size-adjust: 100%;// -moz-osx-font-smoothing: grayscale;// -webkit-font-smoothing: antialiased;
}table {border-collapse: collapse;border-spacing: 0;
}em,
i {font-style: normal;
}li {list-style: none;
}img {border: none;user-select: none;
}input,
img {vertical-align: middle;
}a,
input,
textarea {-webkit-tap-highlight-color: rgba(0, 0, 0, 0);outline: none;// -webkit-font-smoothing: antialiased;
}input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {-webkit-appearance: none !important;appearance: none;margin: 0;
}article,
aside,
footer,
header,
hgroup,
nav,
section {display: block;
}a,
a:hover,
a:focus {text-decoration: none;
}.card-body {flex: 1 0 0 !important;
}.flex {flex: 1 0 0;
}.search-area {.el-input {width: 180px;}.el-select {width: 180px;}
}
10.src/style/setting.scss通用类名
.scroll {overflow: hidden;overflow-y: auto !important;
}.page-view {height: 100%;width: 100%;// overflow: hidden;
}.wbg {background: var(--my-main-bgc, #fff);
}.pall {padding: 16px 16px;
}.pr {padding-right: 16px;
}.pl {padding-left: 16px;
}.pt {padding-top: 16px;
}.pb {padding-bottom: 16px;
}.mr {margin-right: 16px;
}.ml {margin-left: 16px;
}.mt {margin-top: 16px;
}.mb {margin-bottom: 16px;
}.m0 {margin: 0;
}.ball {border: 1px solid #e9e9e9;
}.bt {border-top: 1px solid #e9e9e9;
}.bb {border-bottom: 1px solid #e9e9e9;
}.bl {border-left: 1px solid #e9e9e9;&-green {// border-left: 4px solid @primary-color !important;}&-red {// border-left: 4px solid @error-color !important;}
}.br {border-right: 1px solid #e9e9e9;
}.radius {// border-radius: @border-radius-base;
}.flex-between {display: flex;justify-content: space-between;align-items: center;
}
.flex-around {display: flex;justify-content: space-around;align-items: center;
}.flex-center {display: flex;justify-content: center;align-items: center;
}.flex-start {display: flex;justify-content: flex-start;align-items: center;
}.flex-end {display: flex;justify-content: flex-end;
}.flex-column {display: flex;flex-direction: column;
}.flex-row {display: flex;flex-direction: row;
}.align-center {align-items: center !important;
}.align-end {align-items: flex-end !important;
}.align-top {align-items: flex-start !important;
}.text-center {text-align: center;
}.flex {flex: 1;position: relative;
}.flex-wrap {flex-wrap: wrap;
}.flex-shrink {flex-shrink: 0;
}.grid {display: grid;
}.relative {position: relative;
}.absolute {position: absolute;top: 0;left: 0;right: 0;bottom: 0;
}// 标题 有标志
.basic-title {font-size: 16px;// font-weight: 500;color: var(--my-333-color);position: relative;padding-left: 16px;margin: 12px 0;display: flex;justify-content: space-between;align-items: center;&::before {content: " ";display: block;width: 4px;height: 16px;background: var(--my-primary-checkout);position: absolute;left: 0;top: 50%;margin-top: -8px;}
}// 无标志
.basic-title-no-color {font-size: 14px;color: #333;font-weight: 500;position: relative;margin: 12px 0;display: flex;justify-content: space-between;
}// 省略号
.ellipsis {white-space: nowrap;text-overflow: ellipsis;overflow: hidden;word-break: break-all;
}.ellipsis-2 {display: -webkit-box; /* 老版本语法 */-webkit-box-orient: vertical; /* 排列方向 */-webkit-line-clamp: 2; /* 限制行数 */overflow: hidden; /* 隐藏溢出 */text-overflow: ellipsis; /* 省略符号 */word-break: break-all; /* 允许单词断行 *//* 新版语法(推荐) */display: -webkit-box;line-clamp: 2;box-orient: vertical;
}// 自动换行
.word-wrap {word-wrap: break-word;white-space: pre-wrap;word-break: break-all;.cell {word-wrap: break-word;white-space: pre-wrap;}
}// 禁止换行
.nowrap {white-space: nowrap;
}// 光标 手
.cursor {cursor: pointer;-webkit-touch-callout: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;
}.overflow {overflow: hidden;
}.required {white-space: nowrap;// position: relative;&::before {content: "*";font-size: 14px;// color: red;// position: absolute;// top: 50%;// margin-top: -7px;// left: -12px;display: inline-block;margin-right: 4px;color: #f5222d;font-family: SimSun, sans-serif;line-height: 1;}
}// 空状态
.isEmpty {height: 100%;display: flex;justify-content: center;align-items: center;
}// table上的搜索条件
.search-item {display: flex;align-items: center;justify-content: flex-start;flex-wrap: nowrap;&-title {height: 32px;white-space: nowrap;line-height: 32px;margin-right: 10px;}
}// 没有padding的 弹窗、card
.no-padding {.ant-modal-body {padding: 0 !important;}.ant-card-body {padding: 0 !important;}
}// 有标题 但是标题下边没有边框的card
.no-border-card {.ant-card-head {border: none;&-title {padding: 12px 0 !important;font-weight: 500;font-size: 15px;}}.ant-card-body {padding: 0 16px 12px !important;}box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.09);// border-radius: @border-radius-base;
}.no-content-tab {height: auto !important;.ant-tabs-content {height: 0px;display: none !important;}
}.click-right-card {position: relative;.ant-card-head {position: absolute;left: 0;right: 0;}.ant-card-body {padding: 12px 16px !important;}
}// 通用阴影
.shadow {box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.09);
}// 通用鼠标滑过阴影效果
.hover {&:hover {transition: 0.3s;box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.09);}
}// 编辑、删除按钮hover
.view-change-btn-class:hover {color: #168a84 !important;
}
.delete-btn-class {color: red;cursor: pointer;
}
.delete-btn-class:hover {opacity: 0.7 !important;
}.btn-primary-hover:hover {background-color: #e8f3f3 !important;
}.el-space {gap: 0 !important;.el-input {width: 180px;}.el-select {width: 180px;}&__item {margin-right: 16px;&:last-child {margin: 0 !important;}}
}.jg-message-box {padding: 24px 32px !important;.el-message-box__header {padding-top: 8px !important;padding-left: 38px !important;color: #333;font-weight: 500;}.el-message-box__title {font-size: var(--el-font-size-medium);}.el-message-box__close {display: none;}.el-message-box__status {position: absolute;top: -36px;&.el-icon {font-size: 24px;}}.el-message-box__message {padding-left: 38px;}.el-message-box__btns {padding-top: 16px;}
}.pl0 {padding-left: 0 !important;
}
.pr0 {padding-right: 0 !important;
}
.pt0 {padding-top: 0 !important;
}
.pb0 {padding-bottom: 0 !important;
}
.pall0 {padding: 0 !important;
}// 光标 手
.cursor_ {cursor: pointer;-webkit-touch-callout: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;text-decoration: underline;
}
.green {color: var(--my-link-color3);
}
.bs {box-sizing: border-box;
}@keyframes highlight-scale {0% {transform: scale(1);}50% {transform: scale(1.05);}100% {transform: scale(1);}
}
11.src/style/variable.scss通用变量
$primary-color: #007d7b; // 全局主色
$primary-color-10: #007d7b10; // 全局主色
$primary-color-20: #007d7b20; // 全局主色
$primary-color-50: #007d7b50; // 全局主色
$primary-color-80: #007d7b50; // 全局主色
$link-color: #007d7b; // 链接色
$success-color: rgba(139, 195, 74, 1); // 成功色
$bgc-blue: rgba(43, 128, 185, 1); //背景色-蓝色
$bgc-blue-5: rgba(43, 128, 185, 0.05); // 背景色-蓝色
$bgc-green: rgba(59, 181, 160, 1); // 背景色-绿色
$bgc-green-5: rgba(59, 181, 160, 0.05); // 背景色-绿色
$bgc-yellow-green: rgba(96, 200, 137, 1); // 背景色-草绿色
$bgc-yellow: rgba(241, 196, 14, 1); // 背景色-黄色
$bgc-yellow-5: rgba(241, 196, 14, 0.05); // 警告色
$bgc-yellow-green-5: rgba(96, 200, 137, 0.05); // 背景色-草绿色
$warning-color: #ffc107; // 警告色
$error-color: #ff5722; // 错误色
$font-size-base: 14px; // 主字号
$heading-color: rgba(0, 0, 0, 0.85); // 标题色
$text-color: rgba(0, 0, 0, 0.65); // 主文本色
$text-color-secondary: rgba(0, 0, 0, 0.45); // 次文本色
$disabled-color: rgba(0, 0, 0, 0.25); // 失效色
$border-radius-base: 7px; // 组件/浮层圆角
$border-color-base: #d9d9d9; // 边框色
$box-shadow-base: 0 2px 8px rgba(0, 0, 0, 0.15); // 浮层阴影// 边距相关啊
$space-size: 16px;
12.src/style/yan-page.scss 页面样式
@use "./variable.scss" as *;
.container {flex: 1;background: var(--my-main-bgc, #fff);box-sizing: border-box;padding: $space-size;overflow: hidden;.title-box {height: 14px;font-weight: 700;font-size: 14px;color: #333;user-select: none;margin-bottom: $space-size;}.action-box {display: flex;justify-content: space-between;align-items: flex-end;.el-form {flex-shrink: unset;.el-form-item {min-width: 200px;margin-right: 16px;margin-bottom: $space-size;.el-select {width: 100% !important;}&:last-child {// min-width: 132px;margin-right: 0;}}}.el-dropdown {flex-shrink: 0;}.button-group {flex-shrink: 0;margin-bottom: $space-size;}}.table-box {flex: 1;box-sizing: border-box;margin-bottom: $space-size;overflow: hidden;}.pagination-box {height: 32px;}
}