正在显示
5 个修改的文件
包含
53 行增加
和
43 行删除
| @@ -3,15 +3,15 @@ | @@ -3,15 +3,15 @@ | ||
| 3 | .main-container { | 3 | .main-container { |
| 4 | min-height: 100%; | 4 | min-height: 100%; |
| 5 | transition: margin-left .28s; | 5 | transition: margin-left .28s; |
| 6 | - margin-left: $sideBarWidth; | 6 | + margin-left: $base-sidebar-width; |
| 7 | position: relative; | 7 | position: relative; |
| 8 | } | 8 | } |
| 9 | 9 | ||
| 10 | .sidebar-container { | 10 | .sidebar-container { |
| 11 | -webkit-transition: width .28s; | 11 | -webkit-transition: width .28s; |
| 12 | transition: width 0.28s; | 12 | transition: width 0.28s; |
| 13 | - width: $sideBarWidth !important; | ||
| 14 | - background-color: $menuBg; | 13 | + width: $base-sidebar-width !important; |
| 14 | + background-color: $base-menu-background; | ||
| 15 | height: 100%; | 15 | height: 100%; |
| 16 | position: fixed; | 16 | position: fixed; |
| 17 | font-size: 0px; | 17 | font-size: 0px; |
| @@ -81,12 +81,12 @@ | @@ -81,12 +81,12 @@ | ||
| 81 | } | 81 | } |
| 82 | 82 | ||
| 83 | & .theme-dark .is-active > .el-submenu__title { | 83 | & .theme-dark .is-active > .el-submenu__title { |
| 84 | - color: $subMenuActiveText !important; | 84 | + color: $base-menu-color-active !important; |
| 85 | } | 85 | } |
| 86 | 86 | ||
| 87 | & .nest-menu .el-submenu>.el-submenu__title, | 87 | & .nest-menu .el-submenu>.el-submenu__title, |
| 88 | & .el-submenu .el-menu-item { | 88 | & .el-submenu .el-menu-item { |
| 89 | - min-width: $sideBarWidth !important; | 89 | + min-width: $base-sidebar-width !important; |
| 90 | 90 | ||
| 91 | &:hover { | 91 | &:hover { |
| 92 | background-color: rgba(0, 0, 0, 0.06) !important; | 92 | background-color: rgba(0, 0, 0, 0.06) !important; |
| @@ -95,10 +95,10 @@ | @@ -95,10 +95,10 @@ | ||
| 95 | 95 | ||
| 96 | & .theme-dark .nest-menu .el-submenu>.el-submenu__title, | 96 | & .theme-dark .nest-menu .el-submenu>.el-submenu__title, |
| 97 | & .theme-dark .el-submenu .el-menu-item { | 97 | & .theme-dark .el-submenu .el-menu-item { |
| 98 | - background-color: $subMenuBg !important; | 98 | + background-color: $base-sub-menu-background !important; |
| 99 | 99 | ||
| 100 | &:hover { | 100 | &:hover { |
| 101 | - background-color: $subMenuHover !important; | 101 | + background-color: $base-sub-menu-hover !important; |
| 102 | } | 102 | } |
| 103 | } | 103 | } |
| 104 | } | 104 | } |
| @@ -154,7 +154,7 @@ | @@ -154,7 +154,7 @@ | ||
| 154 | } | 154 | } |
| 155 | 155 | ||
| 156 | .el-menu--collapse .el-menu .el-submenu { | 156 | .el-menu--collapse .el-menu .el-submenu { |
| 157 | - min-width: $sideBarWidth !important; | 157 | + min-width: $base-sidebar-width !important; |
| 158 | } | 158 | } |
| 159 | 159 | ||
| 160 | // mobile responsive | 160 | // mobile responsive |
| @@ -165,14 +165,14 @@ | @@ -165,14 +165,14 @@ | ||
| 165 | 165 | ||
| 166 | .sidebar-container { | 166 | .sidebar-container { |
| 167 | transition: transform .28s; | 167 | transition: transform .28s; |
| 168 | - width: $sideBarWidth !important; | 168 | + width: $base-sidebar-width !important; |
| 169 | } | 169 | } |
| 170 | 170 | ||
| 171 | &.hideSidebar { | 171 | &.hideSidebar { |
| 172 | .sidebar-container { | 172 | .sidebar-container { |
| 173 | pointer-events: none; | 173 | pointer-events: none; |
| 174 | transition-duration: 0.3s; | 174 | transition-duration: 0.3s; |
| 175 | - transform: translate3d(-$sideBarWidth, 0, 0); | 175 | + transform: translate3d(-$base-sidebar-width, 0, 0); |
| 176 | } | 176 | } |
| 177 | } | 177 | } |
| 178 | } | 178 | } |
| @@ -8,37 +8,47 @@ $tiffany: #4AB7BD; | @@ -8,37 +8,47 @@ $tiffany: #4AB7BD; | ||
| 8 | $yellow:#FEC171; | 8 | $yellow:#FEC171; |
| 9 | $panGreen: #30B08F; | 9 | $panGreen: #30B08F; |
| 10 | 10 | ||
| 11 | -// sidebar | ||
| 12 | -$menuText:#bfcbd9; | ||
| 13 | -$menuActiveText:#409EFF; | ||
| 14 | -$subMenuActiveText:#f4f4f5; // https://github.com/ElemeFE/element/issues/12951 | 11 | +// 默认菜单主题风格 |
| 12 | +$base-menu-color:#bfcbd9; | ||
| 13 | +$base-menu-color-active:#f4f4f5; | ||
| 14 | +$base-menu-background:#304156; | ||
| 15 | +$base-logo-title-color: #ffffff; | ||
| 15 | 16 | ||
| 16 | -$menuBg:#304156; | ||
| 17 | -$menuHover:#263445; | ||
| 18 | -$sidebarTitle: #ffffff; | 17 | +$base-menu-light-color:rgba(0,0,0,.70); |
| 18 | +$base-menu-light-background:#ffffff; | ||
| 19 | +$base-logo-light-title-color: #001529; | ||
| 19 | 20 | ||
| 20 | -$menuLightBg:#ffffff; | ||
| 21 | -$menuLightHover:#f0f1f5; | ||
| 22 | -$sidebarLightTitle: #001529; | 21 | +$base-sub-menu-background:#1f2d3d; |
| 22 | +$base-sub-menu-hover:#001528; | ||
| 23 | 23 | ||
| 24 | -$subMenuBg:#1f2d3d; | ||
| 25 | -$subMenuHover:#001528; | 24 | +// 自定义暗色菜单风格 |
| 25 | +/** | ||
| 26 | +$base-menu-color:hsla(0,0%,100%,.65); | ||
| 27 | +$base-menu-color-active:#fff; | ||
| 28 | +$base-menu-background:#001529; | ||
| 29 | +$base-logo-title-color: #ffffff; | ||
| 26 | 30 | ||
| 27 | -$sideBarWidth: 200px; | 31 | +$base-menu-light-color:rgba(0,0,0,.70); |
| 32 | +$base-menu-light-background:#ffffff; | ||
| 33 | +$base-logo-light-title-color: #001529; | ||
| 34 | + | ||
| 35 | +$base-sub-menu-background:#000c17; | ||
| 36 | +$base-sub-menu-hover:#001528; | ||
| 37 | +*/ | ||
| 38 | + | ||
| 39 | +$base-sidebar-width: 200px; | ||
| 28 | 40 | ||
| 29 | // the :export directive is the magic sauce for webpack | 41 | // the :export directive is the magic sauce for webpack |
| 30 | // https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass | 42 | // https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass |
| 31 | :export { | 43 | :export { |
| 32 | - menuText: $menuText; | ||
| 33 | - menuActiveText: $menuActiveText; | ||
| 34 | - subMenuActiveText: $subMenuActiveText; | ||
| 35 | - menuBg: $menuBg; | ||
| 36 | - menuHover: $menuHover; | ||
| 37 | - menuLightBg: $menuLightBg; | ||
| 38 | - menuLightHover: $menuLightHover; | ||
| 39 | - subMenuBg: $subMenuBg; | ||
| 40 | - subMenuHover: $subMenuHover; | ||
| 41 | - sideBarWidth: $sideBarWidth; | ||
| 42 | - sidebarTitle: $sidebarTitle; | ||
| 43 | - sidebarLightTitle: $sidebarLightTitle | 44 | + menuColor: $base-menu-color; |
| 45 | + menuLightColor: $base-menu-light-color; | ||
| 46 | + menuColorActive: $base-menu-color-active; | ||
| 47 | + menuBackground: $base-menu-background; | ||
| 48 | + menuLightBackground: $base-menu-light-background; | ||
| 49 | + subMenuBackground: $base-sub-menu-background; | ||
| 50 | + subMenuHover: $base-sub-menu-hover; | ||
| 51 | + sideBarWidth: $base-sidebar-width; | ||
| 52 | + logoTitleColor: $base-logo-title-color; | ||
| 53 | + logoLightTitleColor: $base-logo-light-title-color | ||
| 44 | } | 54 | } |
| 1 | <template> | 1 | <template> |
| 2 | - <div class="sidebar-logo-container" :class="{'collapse':collapse}" :style="{ backgroundColor: sideTheme === 'theme-dark' ? variables.menuBg : variables.menuLightBg }"> | 2 | + <div class="sidebar-logo-container" :class="{'collapse':collapse}" :style="{ backgroundColor: sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground }"> |
| 3 | <transition name="sidebarLogoFade"> | 3 | <transition name="sidebarLogoFade"> |
| 4 | <router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/"> | 4 | <router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/"> |
| 5 | <img v-if="logo" :src="logo" class="sidebar-logo" /> | 5 | <img v-if="logo" :src="logo" class="sidebar-logo" /> |
| 6 | - <h1 v-else class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.sidebarTitle : variables.sidebarLightTitle }">{{ title }} </h1> | 6 | + <h1 v-else class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1> |
| 7 | </router-link> | 7 | </router-link> |
| 8 | <router-link v-else key="expand" class="sidebar-logo-link" to="/"> | 8 | <router-link v-else key="expand" class="sidebar-logo-link" to="/"> |
| 9 | <img v-if="logo" :src="logo" class="sidebar-logo" /> | 9 | <img v-if="logo" :src="logo" class="sidebar-logo" /> |
| 10 | - <h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.sidebarTitle : variables.sidebarLightTitle }">{{ title }} </h1> | 10 | + <h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1> |
| 11 | </router-link> | 11 | </router-link> |
| 12 | </transition> | 12 | </transition> |
| 13 | </div> | 13 | </div> |
| 1 | <template> | 1 | <template> |
| 2 | - <div :class="{'has-logo':showLogo}" :style="{ backgroundColor: settings.sideTheme === 'theme-dark' ? variables.menuBg : variables.menuLightBg }"> | 2 | + <div :class="{'has-logo':showLogo}" :style="{ backgroundColor: settings.sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground }"> |
| 3 | <logo v-if="showLogo" :collapse="isCollapse" /> | 3 | <logo v-if="showLogo" :collapse="isCollapse" /> |
| 4 | <el-scrollbar :class="settings.sideTheme" wrap-class="scrollbar-wrapper"> | 4 | <el-scrollbar :class="settings.sideTheme" wrap-class="scrollbar-wrapper"> |
| 5 | <el-menu | 5 | <el-menu |
| 6 | :default-active="activeMenu" | 6 | :default-active="activeMenu" |
| 7 | :collapse="isCollapse" | 7 | :collapse="isCollapse" |
| 8 | - :background-color="settings.sideTheme === 'theme-dark' ? variables.menuBg : variables.menuLightBg" | ||
| 9 | - :text-color="settings.sideTheme === 'theme-dark' ? variables.menuText : 'rgba(0,0,0,.65)'" | 8 | + :background-color="settings.sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground" |
| 9 | + :text-color="settings.sideTheme === 'theme-dark' ? variables.menuColor : variables.menuLightColor" | ||
| 10 | :unique-opened="true" | 10 | :unique-opened="true" |
| 11 | :active-text-color="settings.theme" | 11 | :active-text-color="settings.theme" |
| 12 | :collapse-transition="false" | 12 | :collapse-transition="false" |
| 1 | <template> | 1 | <template> |
| 2 | <div :class="classObj" class="app-wrapper" :style="{'--current-color': theme}"> | 2 | <div :class="classObj" class="app-wrapper" :style="{'--current-color': theme}"> |
| 3 | <div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside"/> | 3 | <div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside"/> |
| 4 | - <sidebar class="sidebar-container" :style="{ backgroundColor: sideTheme === 'theme-dark' ? variables.menuBg : variables.menuLightBg }" /> | 4 | + <sidebar class="sidebar-container"/> |
| 5 | <div :class="{hasTagsView:needTagsView}" class="main-container"> | 5 | <div :class="{hasTagsView:needTagsView}" class="main-container"> |
| 6 | <div :class="{'fixed-header':fixedHeader}"> | 6 | <div :class="{'fixed-header':fixedHeader}"> |
| 7 | <navbar /> | 7 | <navbar /> |
| @@ -93,7 +93,7 @@ export default { | @@ -93,7 +93,7 @@ export default { | ||
| 93 | top: 0; | 93 | top: 0; |
| 94 | right: 0; | 94 | right: 0; |
| 95 | z-index: 9; | 95 | z-index: 9; |
| 96 | - width: calc(100% - #{$sideBarWidth}); | 96 | + width: calc(100% - #{$base-sidebar-width}); |
| 97 | transition: width 0.28s; | 97 | transition: width 0.28s; |
| 98 | } | 98 | } |
| 99 | 99 |
-
请 注册 或 登录 后发表评论