我问了一个 类似的问题 前一段时间,收到了很好的答案。不幸的是,这一次答案是不够的,问题稍微复杂一些。
我在用 减 随着 LESSHat mixins目前正在构建一个主题。我已经定义了许多颜色作为变量,我目前正在尝试使用LESSHat来定义渐变 .gradient()
混入。问题是mixin接受一个字符串作为单个参数,而不是每个梯度参数的一系列参数,例如:
#element {
.gradient(~"linear-gradient(90deg, #1e5799 0%,#2989d8 50%,#207cca 51%,#7db9e8 100%)");
}
上面的一切都很好,我可以使用String Interpolation在字符串中使用我的变量(即 @{color-var}
)。但是,我还想在变量上运行一些函数,如下所示:
.gradient(~"linear-gradient(top, @{green} 0%, @{green} 50%, darken(@green, 10%) 50%, darken(@green, 10%) 100%)");
问题是 darken(@green, 10%)
永远不会编译,有些浏览器只是将此颜色解释为 green
。有谁知道包含返回的正确方法 darken()
在上面的字符串里面的函数,没有为它创建一个单独的变量?
作为参考,我尝试了以下无济于事:
.gradient(~"linear-gradient(top, @{green} 0%, @{green} 50%, "darken(@green, 10%)" 50%, "darken(@green, 10%)" 100%)");
.gradient(~"linear-gradient(top, @{green} 0%, @{green} 50%, {darken(@{green}, 10%)} 50%, {darken(@{green}, 10%)} 100%)");