gpt4 book ai didi

css - 如何为具有可变停止次数的梯度制作 LESS mixin?

转载 作者:行者123 更新时间:2023-12-02 21:39:28 25 4
gpt4 key购买 nike

我发现的所有渐变混合都只有固定数量的停止点。 less 和 css 在使用逗号时发生冲突,使得变量停止无法以同样的方式执行。

我当前用于 2 路渐变的 mixin

.gradient (@origin: left, @step-1: @white,  @step-2: @black, @fallback: @step-1){
background-color: @fallback;
background: -webkit-linear-gradient(@origin, @step-1, @step-2) @fallback no-repeat;
background: -moz-linear-gradient(@origin, @step-1, @step-2) @fallback no-repeat;
background: -ms-linear-gradient(@origin, @step-1, @step-2) @fallback no-repeat;
background: -o-linear-gradient(@origin, @step-1, @step-2) @fallback no-repeat;
background: linear-gradient(@origin, @step-1, @step-2) @fallback no-repeat;
}

3路

    .gradient-3-way (@origin: left,  @step-1: @white,  @step-2: @black,  @step-3: @white, @fallback: @step-1){
background-color: @fallback;
background: -webkit-linear-gradient(@origin, @step-1, @step-2, @step-3) @fallback no-repeat;
background: -moz-linear-gradient(@origin, @step-1, @step-2, @step-3) @fallback no-repeat;
background: -ms-linear-gradient(@origin, @step-1, @step-2, @step-3) @fallback no-repeat;
background: -o-linear-gradient(@origin, @step-1, @step-2, @step-3) @fallback no-repeat;
background: linear-gradient(@origin, @step-1, @step-2, @step-3) @fallback no-repeat;
}

最佳答案

不需要单独的变量

您所需要的只是确保使用分号作为参数的分隔符,即使这恰好只是您传递的一个参数。所以这有效:

更少

@white: #fff;
.gradient (@origin: left, @fallback: @white, @stops){
background-color: @fallback;
background: -webkit-linear-gradient(@origin, @stops) @fallback no-repeat;
background: -moz-linear-gradient(@origin, @stops) @fallback no-repeat;
background: -ms-linear-gradient(@origin, @stops) @fallback no-repeat;
background: -o-linear-gradient(@origin, @stops) @fallback no-repeat;
background: linear-gradient(@origin, @stops) @fallback no-repeat;
}

.test {
.gradient(@stops: #fff 0, #000 20px, #000 20px, #f00 20px;)
} |
this final semicolon
causes the commas to
become list separators
instead of parameter
separators making the whole
thing part of one variable

CSS 输出

.test {
background-color: #ffffff;
background: -webkit-linear-gradient(left, #ffffff 0, #000000 20px, #000000 20px, #ff0000 20px) #ffffff no-repeat;
background: -moz-linear-gradient(left, #ffffff 0, #000000 20px, #000000 20px, #ff0000 20px) #ffffff no-repeat;
background: -ms-linear-gradient(left, #ffffff 0, #000000 20px, #000000 20px, #ff0000 20px) #ffffff no-repeat;
background: -o-linear-gradient(left, #ffffff 0, #000000 20px, #000000 20px, #ff0000 20px) #ffffff no-repeat;
background: linear-gradient(left, #ffffff 0, #000000 20px, #000000 20px, #ff0000 20px) #ffffff no-repeat;
}

关于css - 如何为具有可变停止次数的梯度制作 LESS mixin?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20708057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com