动态身体类少

时间:2014-09-30 13:24:42

标签: html css less

有没有办法根据身体上的类动态选择下面两种颜色,而不是将身体类添加到包含颜色较少的每个较少的片段?

@basketballColor: #ff9900;
@footballColor: #99743d;

我们可以这样做吗?

.navbar-inner {
    background-color: @mainColor;
 }

我知道我们可以做到这一点,但希望将其浓缩

body.basketball {

            .navbar-inner {
                background-color: @basketballColor;
            }
        }

body.football {

            .navbar-inner {
                background-color: @footballColor;
            }
        }

1 个答案:

答案 0 :(得分:3)

这在SO:经常被问到:

只需通过mixins缩小它,就像:

一样简单
// usage:

body {
    .navbar(basketball, #ff9900);
    .navbar(football,   #99743d);
}

// impl:

.navbar(@name, @color) {
    &.@{name} .navbar-inner {
        background-color: @color;
    }
}

或者:

// usage:

.navbar(basketball, #ff9900);
.navbar(football,   #99743d);

// impl:

.navbar(@name, @color) {
    body.@{name} .navbar-inner {
        background-color: @color;
    }
}