我想使用定义的值在@each
循环中访问变量,如下例所示:
$car:true;
$people:false;
$job:false;
@mixin options($someval){
@each $prefix in car,people,job{
@if $#{$prefix} == true{
//some CSS...
}
}
}
变量将是一种“信号量”,它定义是否打印Css规则。
我很怀疑的是如何查看动态定义的变量名称?
我尝试使用$#{$prefix}
,但它不起作用。
编辑--------------------------- 我想获得这个CSS
car-something: 34px;
“car”一词取自$prefix
并且在第@each
循环$#{$prefix}
的第一轮中变为$car
问题出在$#{$prefix}
...它不起作用:P我收到错误
答案 0 :(得分:1)
这是一个古老的问题,但由于没有有效答案,因此这里是
您需要将地图传递到@each
$car:true;
$people:false;
$job:false;
@mixin options($someval){
@each $key, $val in (car: $car, people: $people, job: $job) {
@if $val == true{
#{$key}-something: $someval
}
}
}
test {
@include options(34px)
}
答案 1 :(得分:0)
不是尝试插入变量名,而是将列表传递给mixin。
$car: true;
$people: false;
$job: false;
$thing-list: $car, $people, $job;
@mixin thingamajig($thing-list) {
@each $thing in $thing-list {
@if $thing {
// Some CSS
}
}
}