"Additive" 属性 使用 LESS 混合的值
"Additive" property values with LESS mixin
我正在寻找 LESS 可能提供或不提供的功能。
我有一个 mixin,它添加了 "glow" with box-shadow,我在各种元素上使用它 - 按钮、输入等。
.glow() {
box-shadow: 0 0 5px skyBlue;
}
我正在寻找的是一种方法,如果元素已经有框阴影,则可以让混音将框阴影添加为新的逗号分隔值。
所以,我想要这个:
.button {
box-shadow: inset 0 5px 10px black;
.glow();
}
要编译成这样:
.button {
box-shadow: inset 0 5px 10px black, 0 0 5px skyBlue;
}
我想我记得在 SASS 中看到过类似的功能,但我现在找不到它了。
LESS 中是否存在此功能,或者是否有其他方法可以实现类似的结果?
您要查找的功能是 merge。你会这样做:
.glow() {
box-shadow+: 0 0 5px skyBlue;
}
.button {
box-shadow+: inset 0 5px 10px black;
.glow();
}
请注意,两个规则集都需要使用 +
语法才能正常工作。
或者,您可以将发光规则声明为变量:
@glow: 0 0 5px skyBlue;
.button {
box-shadow: inset 0 5px 10px black, @glow;
}
我正在寻找 LESS 可能提供或不提供的功能。
我有一个 mixin,它添加了 "glow" with box-shadow,我在各种元素上使用它 - 按钮、输入等。
.glow() {
box-shadow: 0 0 5px skyBlue;
}
我正在寻找的是一种方法,如果元素已经有框阴影,则可以让混音将框阴影添加为新的逗号分隔值。
所以,我想要这个:
.button {
box-shadow: inset 0 5px 10px black;
.glow();
}
要编译成这样:
.button {
box-shadow: inset 0 5px 10px black, 0 0 5px skyBlue;
}
我想我记得在 SASS 中看到过类似的功能,但我现在找不到它了。
LESS 中是否存在此功能,或者是否有其他方法可以实现类似的结果?
您要查找的功能是 merge。你会这样做:
.glow() {
box-shadow+: 0 0 5px skyBlue;
}
.button {
box-shadow+: inset 0 5px 10px black;
.glow();
}
请注意,两个规则集都需要使用 +
语法才能正常工作。
或者,您可以将发光规则声明为变量:
@glow: 0 0 5px skyBlue;
.button {
box-shadow: inset 0 5px 10px black, @glow;
}