【发布时间】:2014-05-03 18:15:18
【问题描述】:
我有以下使用 Less 的 mixin,它采用输入颜色和阴影一些框等。我使用颜色的浅色版本作为边框,但有时我发现我的颜色太浅,所以最终变成白色。我想做的是检查变亮的颜色是否为白色(或 80%),并将其设为传入的默认颜色。我已将 when 语句放入以在颜色之间切换,但我得到一个 NameError 变量@section-base-color 未定义。我不确定如何让它对传入的参数起作用。
.sectionstyles(@section-base-color) {
.product-single {
& when (lightness(lighten(@section-base-color, 45%)) > 80%) {
border: 1px solid @section-base-color;
}
& when (lightness(lighten(@section-base-color, 45%)) <= 80%) {
border: 1px solid lighten(@section-base-color, 45%); }
.clearfix;
a {
margin-top: 0;
color: @section-base-color;
h2 {
margin: 0 (-@padding-base-horizontal);
padding: @padding-base-horizontal;
color: @section-base-color;
}
p {
color: @text-color;
}
&:hover, &:focus {
color: #FFF;
h2 {
background-color: @section-base-color;
color: #FFF;
}
}
}
}
}
作为参考,功能是轻量级,而不是轻量级。这给我带来了麻烦。
【问题讨论】:
-
这可能是版本问题。您的代码适用于我使用 LESS 1.7(在 lesstester.com 上)。
-
hmm WinLess 有 LESS.js 1.6 - 将尝试更新。
-
是的,我认为这是您的问题。在less2css.org 使用 1.6 我得到了同样的错误。