hy-checkbox
Version:
checkbox & radio ui components for react
242 lines (239 loc) • 5.97 kB
text/less
/*
* @Author: SiMeiyu
* @Date: 2017-07-11 10:08:13
*/
@import "../../app/variables.less";
.@{ult-prefix}-menu {
list-style-type: none;
vertical-align: middle;
margin: 0;
padding: 0;
&-item {
position: relative;
&-tip {
position: absolute;
right: @base-space;
top: 50%;
margin-top: -@base-space;
padding: 0 6px;
line-height: 18px;
font-size: @font-size-base;
color: @white;
font-weight: bold;
text-align: center;
border-radius: 18px;
&-warning {
background-color: @warning;
}
&-danger {
background-color: @danger;
}
&-primary {
background-color: @primary;
}
&-success {
background-color: @success;
}
&-default {
background-color: #999;
}
}
& > a,
&-title {
display: block;
font-size: 14px;
line-height: @base-space * 3;
cursor: pointer;
text-decoration: none;
font-weight: 200;
transition: @transi;
> .iconfont {
font-size: 14px;
}
}
}
&-submenu {
>.@{ult-prefix}-menu {
display: none;
}
&-open {
>.@{ult-prefix}-menu {
display: block;
}
}
}
}
.@{ult-prefix}-menu-horizontal {
width: 100%;
> .@{ult-prefix}-menu-item {
float: left;
padding: @base-space * 2;
}
&.@{ult-prefix}-menu-light {
> .@{ult-prefix}-menu-item-active {
position: relative;
&::after {
content: '';
width: 100%;
height: 2px;
background-color: @primary;
position: absolute;
left: 0;
bottom: -1px;
}
& > a {
color: @primary;
}
}
}
}
.@{ult-prefix}-menu-vertical {
.@{ult-prefix}-menu {
padding-left: 14px + @base-space * 2;
}
.@{ult-prefix}-menu-item {
& > a,
&-title {
padding: @base-space;
> .iconfont {
+ span {
margin-left: @base-space * 2;
}
}
}
&-title {
.toggle {
float: right;
}
}
}
> .@{ult-prefix}-menu-submenu > .@{ult-prefix}-menu-item-title, > .@{ult-prefix}-menu-item {
font-size: 14px;
}
> .@{ult-prefix}-menu-submenu {
> .@{ult-prefix}-menu {
padding-bottom: @base-space;
> .@{ult-prefix}-menu-item > a, > .@{ult-prefix}-menu-submenu > .@{ult-prefix}-menu-item-title {
font-size: 13px;
line-height: @base-space * 2;
}
> .@{ult-prefix}-menu-submenu {
> .@{ult-prefix}-menu {
padding-left: 16px;
> .@{ult-prefix}-menu-item {
position: relative;
> a {
font-size: 12px;
line-height: @base-space * 2;
}
&::after {
content: '';
position: absolute;
left: -6px;
top: 50%;
width: 4px;
height: 4px;
border-radius: 2px;
margin-top: -2px;
background-color: fade(@white, 57%);
}
}
}
}
}
}
}
.@{ult-prefix}-menu-dark {
> .@{ult-prefix}-menu-item, >.@{ult-prefix}-menu-submenu {
margin: @base-space 0;
&:hover,
&-open,
&-active {
background-color: @sider-hover-bg-dark;
& > a,
& > .@{ult-prefix}-menu-item-title {
> span {
color: #fff;
}
> .iconfont:not(.toggle) {
color: @primary;
}
}
}
}
.@{ult-prefix}-menu-item {
&-title,
& > a {
color: fade(@white, 57%);
}
}
.@{ult-prefix}-menu-submenu {
.@{ult-prefix}-menu-item-active > a,
&-open > .@{ult-prefix}-menu-item-title,
.@{ult-prefix}-menu-item:hover > a {
> span {
color: #fff;
}
}
}
}
.@{ult-prefix}-layout-sider {
&-collapsed {
> .@{ult-prefix}-menu {
> .@{ult-prefix}-menu-item {
> .@{ult-prefix}-menu-item-tip {
display: none;
z-index: 10009;
right: @sider-width-collapsed - @sider-width + @base-space;
}
&:hover {
> .@{ult-prefix}-menu-item-tip {
display: block;
}
}
}
& > .@{ult-prefix}-menu-item > a, & > .@{ult-prefix}-menu-submenu > .@{ult-prefix}-menu-item-title {
padding-left: @base-space * 2;
}
& > .@{ult-prefix}-menu-item > a, & > .@{ult-prefix}-menu-submenu > .@{ult-prefix}-menu-item-title {
> span, >.toggle {
display: none;
}
}
& > .@{ult-prefix}-menu-item > a:hover, & > .@{ult-prefix}-menu-submenu:hover > .@{ult-prefix}-menu-item-title{
position: relative;
display: block;
width: @sider-width;
background-color: @sider-hover-bg-dark;
border-radius: 0 @border-radius @border-radius 0;
z-index: 10000;
> span {
display: inline-block;
margin-left: @base-space * 5;
}
}
& > .@{ult-prefix}-menu-submenu {
> .@{ult-prefix}-menu {
display: none;
}
&:hover {
position: relative;
& > .@{ult-prefix}-menu-item-title {
border-bottom-right-radius: 0;
}
> .@{ult-prefix}-menu {
display: block;
position: absolute;
left: @sider-width-collapsed;
// top: 100%;
z-index: 9999;
padding-left: @base-space * 2;
width: @sider-width - @sider-width-collapsed;
background-color: @sider-collapsed-hover-ul-bg;
border-bottom-right-radius: @border-radius;
}
}
}
}
}
}