yyzone
Version:
yyzone vue components and utils
84 lines (82 loc) • 2.23 kB
text/less
@prefixMenuCls: ~'@{yy-css-prefix}menu';
.@{prefixMenuCls} {
max-width: 200px;
width: 100%;
height: 100%;
border-right: 1px solid @yy-border-color-base;
background-color: @yy-background-component;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
.flex(column, flex-start, flex-start);
&-logo {
display: flex;
align-items: center;
justify-content: center;
padding: 30px 0 30px;
width: 100%;
}
::selection {
background-color: transparent;
}
&-container {
width: 100%;
height: 100%;
overflow: hidden;
flex: 1;
transition: @yy-transition-time height ease-in-out,
@yy-transition-time padding-top ease-in-out,
@yy-transition-time padding-bottom ease-in-out;
}
&-submenu {
&-title {
.cursor();
&-content {
flex: 1;
display: flex;
align-items: center;
}
}
}
&-item, &-submenu-title, &-submenu-title-content {
& > i {
margin-right: 12px;
width: 12px;
}
}
&-item, &-submenu-title {
padding: 10px 16px;
font-size: @yy-font-size-base;
color: @yy-text-primary-color;
display: flex;
align-items: center;
transition: @yy-transition-time background-color ease-in-out,
@yy-transition-time color ease-in-out;
.cursor();
&:hover {
color: @yy-text-primary-color;
}
i {
color: @yy-text-info-color;
text-align: center;
}
&-active {
background-color: @yy-background-color-base;
color: @yy-primary-color;
position: relative;
&:hover {
color: @yy-primary-color;
}
i {
color: @yy-text-info-color;
}
&:before {
position: absolute;
content: '';
top: 0;
left: 0;
bottom: 0;
width: 2px;
background-color: @yy-primary-color;
}
}
}
}