This commit is contained in:
吴红兵
2025-12-02 10:37:49 +08:00
commit 1f645dad3e
1183 changed files with 147673 additions and 0 deletions

476
src/theme/element.scss Normal file
View File

@@ -0,0 +1,476 @@
@import 'mixins/index.scss';
/* Button 按钮
------------------------------- */
// 第三方字体图标大小
.el-button:not(.is-circle) i.el-icon,
.el-button i.iconfont,
.el-button i.fa,
.el-button--default i.iconfont,
.el-button--default i.fa {
font-size: 14px !important;
}
.el-button--small i.iconfont,
.el-button--small i.fa {
font-size: 12px !important;
}
.el-button [class*='el-icon'] + span {
margin-left: 6px;
}
/* Input 输入框、InputNumber 计数器
------------------------------- */
// 菜单搜索
.el-autocomplete-suggestion__wrap {
max-height: 280px !important;
}
/* Form 表单
------------------------------- */
.el-form {
// 用于修改弹窗时表单内容间隔太大问题,如系统设置的新增菜单弹窗里的表单内容
.el-form-item:last-of-type {
margin-bottom: 0 !important;
}
// 修复行内表单最后一个 el-form-item 位置下移问题
&.el-form--inline {
.el-form-item--large.el-form-item:last-of-type {
margin-bottom: 22px !important;
}
.el-form-item--default.el-form-item:last-of-type,
.el-form-item--small.el-form-item:last-of-type {
margin-bottom: 18px !important;
}
// 修改表单项默认右边距
.el-form-item {
margin-right: 12px;
}
}
.el-form-item .el-form-item__label .el-icon {
margin-right: 0px;
}
}
// 修改数字输入框默认宽度为100%
.el-input-number {
width: 100%;
}
// https://github.com/element-plus/element-plus/pull/15352
.el-form--inline {
.el-form-item {
& > .el-input,
.el-cascader,
.el-select,
.el-date-editor,
.el-autocomplete {
width: 240px;
}
}
}
/* Alert 警告
------------------------------- */
.el-alert {
border: 1px solid;
}
.el-alert__title {
word-break: break-all;
}
/* Message 消息提示
------------------------------- */
.el-message {
min-width: unset !important;
padding: 12px 20px !important;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.08);
border-width: 1px;
border-style: solid;
border-radius: 4px;
.el-message__content {
font-size: 14px;
line-height: 1.4;
color: var(--el-text-color-regular);
}
.el-message__icon {
margin-right: 8px;
font-size: 16px;
vertical-align: middle;
}
// 成功类型
&.el-message--success {
background-color: #f0f9eb;
border-color: #67c23a;
.el-message__content {
color: #67c23a;
}
}
// 警告类型
&.el-message--warning {
background-color: #fdf6ec;
border-color: #e6a23c;
.el-message__content {
color: #e6a23c;
}
}
// 错误类型
&.el-message--error {
background-color: #fef0f0;
border-color: #f56c6c;
.el-message__content {
color: #f56c6c;
}
}
// 信息类型
&.el-message--info {
background-color: #f4f4f5;
border-color: #909399;
.el-message__content {
color: #909399;
}
}
}
/* NavMenu 导航菜单
------------------------------- */
// 鼠标 hover 时颜色
.el-menu-hover-bg-color {
background-color: var(--next-bg-menuBarActiveColor) !important;
}
// 默认样式修改
.el-menu {
border-right: none !important;
width: 100%;
}
.el-menu-item {
height: 56px !important;
line-height: 56px !important;
}
.el-menu-item,
.el-sub-menu__title {
color: var(--next-bg-menuBarColor) !important;
}
// 修复点击左侧菜单折叠再展开时,宽度不跟随问题
.el-menu--collapse {
width: 64px !important;
}
// 外部链接时
.el-menu-item a,
.el-menu-item a:hover,
.el-menu-item i,
.el-sub-menu__title i {
color: inherit;
text-decoration: none;
}
// 第三方图标字体间距/大小设置
.el-menu-item .iconfont,
.el-sub-menu .iconfont,
.el-menu-item .fa,
.el-menu-item .svg-icon,
.el-sub-menu .svg-icon,
.el-sub-menu .fa {
@include generalIcon;
}
// 水平菜单、横向菜单高亮 背景色,鼠标 hover 时,有子级菜单的背景色
.el-menu-item.is-active,
.el-sub-menu.is-active .el-sub-menu__title,
.el-sub-menu:not(.is-opened):hover .el-sub-menu__title {
@extend .el-menu-hover-bg-color;
}
.el-menu-item:hover {
@extend .el-menu-hover-bg-color;
}
.el-sub-menu.is-active.is-opened .el-sub-menu__title {
background-color: unset !important;
}
// 水平菜单、横向菜单折叠 a 标签
.el-popper.is-dark a {
color: var(--el-color-white) !important;
text-decoration: none;
}
// 横向菜单(经典、横向)布局
.el-menu.el-menu--horizontal {
border-bottom: none !important;
width: 100% !important;
// 横向布局默认选中的字体颜色同步为左侧菜单颜色(默认黑色)
.el-sub-menu.is-active .el-sub-menu__title {
color: var(--next-bg-menuBarColor) !important;
}
// 经典布局,当选中状态的时候字体颜色同步为左侧菜单颜色(默认黑色)
.el-menu-item,
.el-sub-menu__title {
height: 50px !important;
color: var(--next-bg-topBarColor) !important;
&:hover,
&.is-active {
color: var(--next-bg-menuBarColor) !important;
}
}
.el-menu-item:not(.is-active):hover,
.el-sub-menu:not(.is-active):hover .el-sub-menu__title {
color: var(--next-bg-topBarColor);
}
}
// 添加弹出子菜单容器的样式
.el-menu--horizontal.el-menu--popup-container {
.el-menu.el-menu--popup {
.el-menu-item,
.el-sub-menu__title {
height: 56px !important;
line-height: 56px !important;
}
}
}
/* Tabs 标签页
------------------------------- */
.el-tabs__nav-wrap::after {
height: 1px !important;
}
/* Dropdown 下拉菜单
------------------------------- */
.el-dropdown-menu {
list-style: none !important;
/*修复 Dropdown 下拉菜单样式问题 2022.03.04*/
}
.el-dropdown-menu .el-dropdown-menu__item {
white-space: nowrap;
&:not(.is-disabled):hover {
background-color: var(--el-dropdown-menuItem-hover-fill);
color: var(--el-dropdown-menuItem-hover-color);
}
}
/* Steps 步骤条
------------------------------- */
.el-step__icon-inner {
font-size: 30px !important;
font-weight: 400 !important;
}
.el-step__title {
font-size: 14px;
}
/* Dialog 对话框
------------------------------- */
.el-overlay {
overflow: hidden;
.el-overlay-dialog {
display: flex;
align-items: center;
justify-content: center;
position: unset !important;
width: 100%;
height: 100%;
.el-dialog {
margin: 0 auto !important;
position: absolute;
border-radius: 8px;
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
overflow: hidden;
.el-dialog__header {
margin: 0;
padding: 16px 20px;
.el-dialog__title {
font-size: 16px;
font-weight: 600;
color: var(--el-text-color-primary);
}
.el-dialog__headerbtn {
top: 20px;
right: 20px;
.el-dialog__close {
font-size: 18px;
transition: all 0.3s ease;
&:hover {
transform: rotate(90deg);
color: var(--el-color-primary);
}
}
}
}
.el-dialog__body {
padding: 20px !important;
max-height: calc(90vh - 120px) !important;
overflow-y: auto;
overflow-x: hidden;
color: var(--el-text-color-regular);
}
.el-dialog__footer {
padding: 12px 20px;
.el-button {
padding: 8px 20px;
min-width: 80px;
}
}
}
}
}
.el-dialog {
--el-transition-duration: 0.3s;
&.dialog-fade-enter-active {
animation: dialog-fade-in var(--el-transition-duration);
}
&.dialog-fade-leave-active {
animation: dialog-fade-out var(--el-transition-duration);
}
}
@keyframes dialog-fade-in {
0% {
transform: translate3d(0, -30px, 0);
opacity: 0;
}
100% {
transform: translate3d(0, 0, 0);
opacity: 1;
}
}
@keyframes dialog-fade-out {
0% {
transform: translate3d(0, 0, 0);
opacity: 1;
}
100% {
transform: translate3d(0, -30px, 0);
opacity: 0;
}
}
/* Card 卡片
------------------------------- */
.el-card__header {
padding: 15px 20px;
}
// 日历
.el-calendar-table .el-calendar-day {
height: 50px;
padding: 0;
}
/* Table 表格 element plus 2.2.0 版本
------------------------------- */
// 表格修改默认颜色
.el-table {
color: #000000;
.el-button.is-text {
padding: 0;
}
}
/* scrollbar
------------------------------- */
.el-scrollbar__bar {
z-index: 4;
}
.el-scrollbar__wrap {
max-height: 100%;
}
.el-select-dropdown .el-scrollbar__wrap {
overflow-x: scroll !important;
}
/*修复Select 选择器高度问题*/
.el-select-dropdown__wrap {
max-height: 274px !important;
}
/*修复Cascader 级联选择器高度问题*/
.el-cascader-menu__wrap.el-scrollbar__wrap {
height: 204px !important;
}
/*用于界面高度自适应main.vue区分 scrollbar__view防止其它使用 scrollbar 的地方出现滚动条消失*/
.layout-container-view .el-scrollbar__view {
height: 100%;
}
/*防止分栏布局二级菜单很多时,滚动条消失问题*/
.layout-columns-warp .layout-aside .el-scrollbar__view {
height: unset !important;
}
/* Pagination 分页
------------------------------- */
.el-pagination__editor {
margin-right: 8px;
}
.el-pagination {
margin-top: 15px;
justify-content: flex-end;
}
/*深色模式时分页高亮问题*/
.el-pagination.is-background .btn-next.is-active,
.el-pagination.is-background .btn-prev.is-active,
.el-pagination.is-background .el-pager li.is-active {
background-color: var(--el-color-primary) !important;
color: var(--el-color-white) !important;
}
.el-empty {
--el-empty-padding: 0 0 !important;
}
// 防止被tailwindcss默认样式覆盖
svg {
display: inline;
vertical-align: baseline;
}
// 覆盖默认样式宽度
.el-date-editor.el-input, .el-date-editor.el-input__wrapper {
width: 100%;
}
// 表单设计器元素布局增加间距
.fc-form-row .fc-form-col {
margin-bottom: 18px;
}