@import "mixins/mixins"; @import "common/var"; @mixin menu-item { height: 56px; line-height: 56px; font-size: 14px; color: $--menu-item-color; padding: 0 20px; cursor: pointer; position: relative; transition: border-color .3s, background-color .3s, color .3s; box-sizing: border-box; white-space: nowrap; } @include b(menu) { border-radius: 2px; list-style: none; position: relative; margin: 0; padding-left: 0; background-color: $--menu-item-fill; @include utils-clearfix; & li { list-style: none; } @include m(dark) { background-color: $--dark-menu-item-fill; & .el-menu-item, & .el-submenu__title { color: $--color-black; &:hover { background-color: $--color-black; } } & .el-submenu .el-menu { background-color: $--color-black; & .el-menu-item:hover { background-color: $--color-black; } } } @include m(horizontal) { & .el-menu-item { float: left; height: 60px; line-height: 60px; margin: 0; cursor: pointer; position: relative; box-sizing: border-box; border-bottom: 5px solid transparent; a, a:hover { color: inherit; } &:hover { background-color: $--menu-item-hover-fill; } } & .el-submenu { float: left; position: relative; > .el-menu { position: absolute; top: 65px; left: 0; border:1px solid $--color-black; padding: 5px 0; background-color: $--color-white; z-index: 100; min-width: 100%; box-shadow: 0 2px 4px 0 rgba(0,0,0,0.12), 0 0 6px 0 rgba(0,0,0,0.04); } & .el-submenu__title { height: 60px; line-height: 60px; border-bottom: 5px solid transparent; } & .el-menu-item { background-color: $--color-white; float: none; height: 36px; line-height: 36px; padding: 0 10px; } & .el-submenu__icon-arrow { position: static; vertical-align: middle; margin-left: 5px; color: $--color-black; margin-top: -3px; } } & .el-menu-item:hover, & .el-submenu__title:hover { background-color: $--menu-item-fill; } & > .el-menu-item:hover, & > .el-submenu:hover .el-submenu__title, & > .el-submenu.is-active .el-submenu__title { border-bottom: 5px solid $--color-primary; } &.el-menu--dark { & .el-menu-item:hover, & .el-submenu__title:hover { background-color: $--dark-menu-item-fill; } & .el-submenu { .el-menu-item, .el-submenu-title { color: $--color-black; &:hover { background-color: $--color-black; } } .el-menu-item.is-active { color: $--color-primary; } } } } @include m(collapse) { width: 64px; > .el-menu-item, > .el-submenu > .el-submenu__title { [class^="el-icon-"] { margin: 0; vertical-align: middle; width: 24px; text-align: center; } .el-submenu__icon-arrow { display: none; } span { height: 0; width: 0; overflow: hidden; visibility: hidden; display: inline-block; } } .el-submenu { position: relative; & .el-menu { position: absolute; margin-left: 5px; top: 0; left: 100%; z-index: 10; } &.is-opened { > .el-submenu__title .el-submenu__icon-arrow { transform: none; } } } } } @include b(menu-item) { @include menu-item; & [class^="el-icon-"] { margin-right: 5px; width: 24px; text-align: center; } & * { vertical-align: middle; } &:first-child { margin-left: 0; } &:last-child { margin-right: 0; } &:hover { background-color: $--color-black; } @include when(active) { color: $--color-primary; } } @include b(submenu) { @include e(title) { position: relative; @include menu-item; &:hover { background-color: $--color-black; } & * { vertical-align: middle; } } & .el-menu { background-color: $--color-black; } & .el-menu-item { height: 50px; line-height: 50px; padding: 0 45px; min-width: 200px; &:hover { background-color: $--color-black; } } @include e(icon-arrow) { position: absolute; top: 50%; right: 20px; margin-top: -7px; transition: transform .3s; font-size: 12px; } @include when(active) { .el-submenu__title { border-bottom-color: $--color-primary; } } @include when(opened) { > .el-submenu__title .el-submenu__icon-arrow { transform: rotateZ(180deg); } } [class^="el-icon-"] { vertical-align: middle; margin-right: 5px; width: 24px; text-align: center; } } @include b(menu-item-group) { > ul { padding: 0; } @include e(title) { padding-top: 15px; line-height: normal; font-size: 14px; padding-left: 20px; color: $--color-black; } } .horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow { transition: .2s; opacity: 0; }