我有一个map
,看起来像这样:
$settings: ("offset": 'margin-left',
"push": 'left',
"pull": 'right',
"center": 'margin-left');
在我的下面,我有一个从1
循环到特定变量的函数,其值为12
。
@for $index from 1 to 12 {
@each $type, $property in $settings {
&.#{$type}-#{$index} {
@include someFunctionDoesntMatter($property, $index);
}
}
}
正如您所看到的,我已经从该map
中选择了数据,但没有选择具体的数据,我只是循环所有数据。
如何选择地图中的4
项,包括值?
我在循环的最后一个括号下尝试了这段代码:
&.#{nth($settings, 4)} {
...
}
但是这给了我这个错误:
cmd.exe /D /C C:/Ruby200-x64/bin/scss.bat --no-cache --update main.scss:main.css
error features\grid\_grid-extensions.scss (Line 19: Invalid CSS after "&.": expected class name, was ""center" "margi...")
Process finished with exit code 1
答案 0 :(得分:1)
nth($settings, 4)
将返回键值对,而不是可用于构建选择器的值。
你可以这样做:
$settings: ("offset": 'margin-left',
"push": 'left',
"pull": 'right',
"center": 'margin-left');
div {
&.#{nth(nth($settings, 4), 1)} {
content: nth(nth($settings, 4), 2);
}
}
会呈现:
div.center {
content: "margin-left";
}