menu.less 3.24 KB
@menu-prefix-cls: ~"@{css-prefix}menu";
@menu-dropdown-item-prefix-cls: ~"@{menu-prefix-cls}-horizontal .@{menu-prefix-cls}-submenu .@{select-dropdown-prefix-cls} .@{menu-prefix-cls}-item";

.@{menu-prefix-cls} {
    display: block;
    margin: 0;
    padding: 0;
    outline: none;
    list-style: none;
    color: @text-color;
    font-size: @font-size-base;
    position: relative;

    &-horizontal{
        height: 60px;
        line-height: 60px;

        &.@{menu-prefix-cls}-light{
            &:after{
                content: '';
                display: block;
                width: 100%;
                height: 1px;
                background: @border-color-base;
                position: absolute;
                bottom: 0;
                left: 0;
            }
        }
    }
    &-vertical{
        width: 240px;
        &.@{menu-prefix-cls}-light{
            &:after{
                content: '';
                display: block;
                width: 1px;
                height: 100%;
                background: @border-color-base;
                position: absolute;
                top: 0;
                bottom: 0;
                right: 0;
            }
        }
    }

    &-light{
        background: #fff;
    }
    &-dark{
        background: @title-color;
    }
    &-primary{
        background: @primary-color;
    }

    &-item{
        display: block;
        outline: none;
        list-style: none;
        font-size: @font-size-base;
        position: relative;
        z-index: 1;
        cursor: pointer;
        transition: all @transition-time @ease-in-out;

        .@{menu-prefix-cls}-light &{
            color: @text-color;
        }
        .@{menu-prefix-cls}-dark &{
            color: @subsidiary-color;
            &-active, &:hover{
                color: #fff;
            }
        }
        .@{menu-prefix-cls}-primary &{
            color: #fff;
            &-active, &:hover{
                background: @link-active-color;
            }
        }
    }
    &-horizontal &-item,
    &-horizontal &-submenu
    {
        float: left;
        padding: 0 20px;
        position: relative;
        cursor: pointer;
        z-index: 1;
        transition: all @transition-time @ease-in-out;
    }

    &-light&-horizontal &-item, &-light&-horizontal &-submenu{
        height: inherit;
        line-height: inherit;
        border-bottom: 2px solid transparent;
        &-active, &:hover{
            color: @primary-color;
            border-bottom: 2px solid @primary-color;
        }
    }

    &-dark&-horizontal &-item{
        &-active, &:hover{
            color: #fff;
        }
    }

    &-primary&-horizontal &-item{
        &-active, &:hover{
            background: @link-active-color;
        }
    }

    &-horizontal &-submenu .@{select-dropdown-prefix-cls} {
        width: 100%;
        .@{menu-prefix-cls}-item{
            height: auto;
            line-height: normal;
            border-bottom: 0;
            float: none;
        }
    }

    &-item-group{
        line-height: normal;
        &-title {
            padding-left: 8px;
            font-size: 12px;
            color: @legend-color;
            height: 30px;
            line-height: 30px;
        }
    }
}
.select-item(@menu-prefix-cls, @menu-dropdown-item-prefix-cls);