Files
school-developer/src/theme/element.scss
吴红兵 1f645dad3e init
2025-12-02 10:37:49 +08:00

477 lines
9.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.

@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;
}