如何在 SCSS 中组合变量名和数据属性?
How to combine variable name and data-attr in SCSS?
有没有办法在 SCSS 中做到这一点,将背景颜色 $colorState0
动态应用到 elem
class 宽度 data-indx="0"
?
SCSS:
$colorState0: rgb(0, 0, 0);
.elem {
background: $colorState(data-idx);
}
HTML:
<div class="elem" data-idx="0"></div>
您可以使用 mixin。下面的一个将背景应用于具有 elem
class 和给定 data-idx
的元素,但您可以根据需要自定义它。
@mixin apply-background($idx) {
.elem[data-idx="#{$idx}"]{
background : rgb($idx, $idx, $idx);
}
}
@include apply-background(0);
你可以试试这个方法:
$colorState0: rgb(0, 0, 0);
$colorState1: rgb(0, 0, 0);
.elem[data-idx=0] {
background: $colorState0;
}
.elem[data-idx=1] {
background: $colorState1;
}
等等
有没有办法在 SCSS 中做到这一点,将背景颜色 $colorState0
动态应用到 elem
class 宽度 data-indx="0"
?
SCSS:
$colorState0: rgb(0, 0, 0);
.elem {
background: $colorState(data-idx);
}
HTML:
<div class="elem" data-idx="0"></div>
您可以使用 mixin。下面的一个将背景应用于具有 elem
class 和给定 data-idx
的元素,但您可以根据需要自定义它。
@mixin apply-background($idx) {
.elem[data-idx="#{$idx}"]{
background : rgb($idx, $idx, $idx);
}
}
@include apply-background(0);
你可以试试这个方法:
$colorState0: rgb(0, 0, 0);
$colorState1: rgb(0, 0, 0);
.elem[data-idx=0] {
background: $colorState0;
}
.elem[data-idx=1] {
background: $colorState1;
}
等等