【发布时间】:2022-01-22 19:56:50
【问题描述】:
基本上,我试图根据传递给 SCSS mixin 的值是偶数还是奇数来设置 CSS 值。
环顾四周,发现很笨拙地蹲着。在带有 CSS/SCSS 的搜索词中任何提及奇数/偶数只会导致 :nth-child 结果。
余数运算符在 CSS 中不起作用,因此确定奇数/偶数的方法不起作用。然后我尝试沿着一个数字除以 2 将导致数字类型或整数类型的路线,这取决于它是偶数还是奇数,不。
我唯一可行的选择似乎是
$valType1: "odd";
@if $val1 == 2 {
$valType1: "even";
} @else if $val1 == 4 {
$valType1: "even";
} @else if $val1 == 6 {
$valType1: "even";
} @else if $val1 == 8 {
$valType1: "even";
} @else if $val1 == 10 {
$valType1: "even";
} @else if $val1 == 12 {
$valType1: "even";
} @else if $val1 == 14 {
$valType1: "even";
} @else if $val1 == 16 {
$valType1: "even";
} @else if $val1 == 18 {
$valType1: "even";
} @else if $val1 == 20 {
$valType1: "even";
} @else if $val1 == 22 {
$valType1: "even";
} @else if $val1 == 24 {
$valType1: "even";
} @else if $val1 == 26 {
$valType1: "even";
}
@if $valType1 == "even" {
background-color: red;
}
一定有什么。有什么帮助建议吗?我是否忽略了一些令人痛苦的显而易见的事情?
【问题讨论】:
-
$val1来自哪里?它是可以在运行时更改的,还是仅对 SCSS 预处理器可用? -
是mixin中定义的任意变量。
@mixin mixin-name($val1, $val2) { code }然后称为@include mixin-name(23, 34) -
因此,如果它从未暴露于 CSS,那么您无需担心“余数运算符在 CSS 中不起作用”。只需在 SCSS 中使用 % 运算符即可。