You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
318 lines
6.5 KiB
318 lines
6.5 KiB
#app { |
|
|
|
.main-container { |
|
height: 100%; |
|
transition: margin-left .28s; |
|
margin-left: $base-sidebar-width; |
|
position: relative; |
|
} |
|
|
|
.sidebarHide { |
|
margin-left: 0 !important; |
|
} |
|
|
|
.sidebar-container { |
|
-webkit-transition: width .28s; |
|
transition: width 0.28s; |
|
width: $base-sidebar-width !important; |
|
background-color: $base-menu-background; |
|
height: 100%; |
|
position: fixed; |
|
font-size: 0px; |
|
top: 0; |
|
bottom: 0; |
|
left: 0; |
|
z-index: 1001; |
|
overflow: hidden; |
|
-webkit-box-shadow: 2px 0 6px rgba(0, 21, 41, .35); |
|
box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1); |
|
|
|
// reset element-ui css |
|
.horizontal-collapse-transition { |
|
transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out; |
|
} |
|
|
|
.scrollbar-wrapper { |
|
overflow-x: hidden !important; |
|
} |
|
|
|
.el-scrollbar__bar.is-vertical { |
|
right: 0px; |
|
} |
|
|
|
.el-scrollbar { |
|
height: 100%; |
|
} |
|
|
|
&.has-logo { |
|
.el-scrollbar { |
|
height: calc(100% - 50px); |
|
} |
|
} |
|
|
|
.is-horizontal { |
|
display: none; |
|
} |
|
|
|
a { |
|
display: inline-block; |
|
width: 100%; |
|
overflow: hidden; |
|
} |
|
|
|
.svg-icon { |
|
margin-right: 10px !important; |
|
} |
|
|
|
.el-menu { |
|
border: none; |
|
height: 100%; |
|
width: 100% !important; |
|
} |
|
|
|
.el-menu-item, |
|
.el-submenu__title { |
|
overflow: hidden !important; |
|
text-overflow: ellipsis !important; |
|
white-space: nowrap !important; |
|
height: 44px !important; |
|
line-height: 44px !important; |
|
margin: 0 2px !important; |
|
border-radius: 20px !important; |
|
color: #fff !important; |
|
display: flex !important; |
|
align-items: center !important; |
|
} |
|
|
|
// menu hover |
|
.submenu-title-noDropdown, |
|
.el-submenu__title { |
|
&:hover { |
|
background-color: rgba(0, 0, 0, 0.06) !important; |
|
} |
|
} |
|
|
|
& .theme-dark .is-active>.el-submenu__title { |
|
color: $base-menu-color-active !important; |
|
} |
|
|
|
& .nest-menu .el-submenu>.el-submenu__title, |
|
& .el-submenu .el-menu-item { |
|
min-width: $base-sidebar-width !important; |
|
|
|
&:hover { |
|
background-color: rgba(0, 0, 0, 0.06) !important; |
|
} |
|
} |
|
|
|
& .theme-dark .nest-menu .el-submenu>.el-submenu__title, |
|
& .theme-dark .el-submenu .el-menu-item { |
|
background-color: $base-sub-menu-background !important; |
|
|
|
&:hover { |
|
background-color: $base-sub-menu-hover !important; |
|
} |
|
} |
|
|
|
// theme-dark 深色主题 |
|
&.theme-dark { |
|
box-shadow: 2px 0 8px rgba(0, 0, 0, 0.4); |
|
border-right: none; |
|
|
|
.el-menu-item.is-active { |
|
position: relative; |
|
background-color: rgba(0, 0, 0, 0.25) !important; |
|
} |
|
|
|
.el-submenu.is-active>.el-submenu__title { |
|
background-color: rgba(0, 0, 0, 0.25) !important; |
|
} |
|
|
|
.el-menu-item:not(.is-active), |
|
.submenu-title-noDropdown, |
|
.el-submenu__title { |
|
position: relative; |
|
|
|
&::before { |
|
content: ''; |
|
position: absolute; |
|
inset: 0; |
|
background-color: transparent; |
|
pointer-events: none; |
|
z-index: 1; |
|
transition: background-color 0.2s; |
|
} |
|
|
|
&:hover::before { |
|
background-color: var(--current-color-dark-bg, rgba(64, 158, 255, 0.2)); |
|
} |
|
} |
|
} |
|
|
|
// theme-light 浅色主题 |
|
&.theme-light { |
|
border-right: 1px solid #e8eaf0; |
|
box-shadow: none; |
|
|
|
.el-menu-item, |
|
.el-submenu__title { |
|
color: rgba(0, 0, 0, 0.65); |
|
} |
|
|
|
.el-menu-item.is-active { |
|
color: var(--current-color, #409eff) !important; |
|
position: relative; |
|
|
|
&::before { |
|
content: ''; |
|
position: absolute; |
|
inset: 0; |
|
background-color: var(--current-color-light, #ecf5ff); |
|
border-right: 3px solid var(--current-color, #409eff); |
|
pointer-events: none; |
|
z-index: 1; |
|
} |
|
} |
|
|
|
.el-submenu.is-active>.el-submenu__title { |
|
color: var(--current-color, #409eff) !important; |
|
} |
|
|
|
.el-menu-item:not(.is-active):hover, |
|
.submenu-title-noDropdown:hover, |
|
.el-submenu__title:hover { |
|
background-color: #f5f7fa !important; |
|
color: rgba(0, 0, 0, 0.85) !important; |
|
} |
|
|
|
.nest-menu .el-submenu>.el-submenu__title, |
|
.el-submenu .el-menu-item { |
|
background-color: #fafafa !important; |
|
|
|
&:hover { |
|
background-color: #f0f5ff !important; |
|
} |
|
} |
|
} |
|
} |
|
|
|
.hideSidebar { |
|
.sidebar-container { |
|
width: 54px !important; |
|
} |
|
|
|
.main-container { |
|
margin-left: 54px; |
|
} |
|
|
|
.el-menu:not(.el-menu--horizontal) { |
|
.submenu-title-noDropdown { |
|
padding: 0 !important; |
|
position: relative; |
|
|
|
.el-tooltip { |
|
padding: 0 !important; |
|
|
|
.svg-icon { |
|
margin-left: 20px; |
|
} |
|
} |
|
} |
|
} |
|
|
|
.el-submenu { |
|
overflow: hidden; |
|
|
|
&>.el-submenu__title { |
|
padding: 0 !important; |
|
|
|
.svg-icon { |
|
margin-left: 20px; |
|
} |
|
|
|
} |
|
} |
|
|
|
.el-menu--collapse { |
|
.el-submenu { |
|
&>.el-submenu__title { |
|
&>span { |
|
height: 0; |
|
width: 0; |
|
overflow: hidden; |
|
visibility: hidden; |
|
display: inline-block; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
|
|
.el-menu--collapse .el-menu .el-submenu { |
|
min-width: $base-sidebar-width !important; |
|
} |
|
|
|
// mobile responsive |
|
.mobile { |
|
.main-container { |
|
margin-left: 0px; |
|
} |
|
|
|
.sidebar-container { |
|
transition: transform .28s; |
|
width: $base-sidebar-width !important; |
|
} |
|
|
|
&.hideSidebar { |
|
.sidebar-container { |
|
pointer-events: none; |
|
transition-duration: 0.3s; |
|
transform: translate3d(-$base-sidebar-width, 0, 0); |
|
} |
|
} |
|
} |
|
|
|
.withoutAnimation { |
|
|
|
.main-container, |
|
.sidebar-container { |
|
transition: none; |
|
} |
|
} |
|
} |
|
|
|
// when menu collapsed |
|
.el-menu--vertical { |
|
&>.el-menu { |
|
.svg-icon { |
|
margin-right: 16px; |
|
} |
|
} |
|
|
|
.nest-menu .el-submenu>.el-submenu__title, |
|
.el-menu-item { |
|
&:hover { |
|
// you can use $subMenuHover |
|
background-color: rgba(0, 0, 0, 0.06) !important; |
|
} |
|
} |
|
|
|
// the scroll bar appears when the subMenu is too long |
|
>.el-menu--popup { |
|
max-height: 100vh; |
|
overflow-y: auto; |
|
|
|
&::-webkit-scrollbar-track-piece { |
|
background: #d3dce6; |
|
} |
|
|
|
&::-webkit-scrollbar { |
|
width: 6px; |
|
} |
|
|
|
&::-webkit-scrollbar-thumb { |
|
background: #99a9bf; |
|
border-radius: 20px; |
|
} |
|
} |
|
} |