警卫(when
声明)只能与mixin或CSS selector一起使用。不使用其中的一个,我们不能写一个when
声明。使用未命名的选择器(&
)如下面
@banner-separation-style: 'thick_border';
header when (@banner-separation-style = 'thick_border') {
border: 2px solid red;
}
nav when (@banner-separation-style = 'thick_border') {
border: 2px solid green;
}
或至少:
@banner-separation-style: 'thick_border';
& when (@banner-separation-style = 'thick_border') {
header { border: 2px solid red; }
nav { border: 2px solid green; }
}
所以,无论是与一个混合像下面写:
@banner-separation-style: 'thick_border';
.border-styles() when (@banner-separation-style = 'thick_border') {
header { border: 2px solid red; }
nav { border: 2px solid green; }
}
.border-styles;
,或者直接与像下面的CSS选择
第一个版本(与混入)是我喜欢,因为(a)您不必多次重复的情况就像在CSS选择器版本和(b)给予混合的一个在一个名称中,它比使用未命名的选择器更具可读性。这只是我的选择,其他用户可能更喜欢最后一个,因为它不需要额外的mixin调用语句。
下面的答案,请不要在不需要的时候使用引号 - 只是'thick_border'(而不是''thick_border'')就足够了(而且''thick-border'更能计算变量命名的风格) 。 –