我希望生成类似grid-col-1
,grid-col-md-1
,grid-col-lg-1
,grid-col-2
,grid-col-md-2
,grid-col-lg-2
...
所以,我已经创建了这个mixin来做到这一点:
$grid-columns: 12;
@mixin grid-col-builder($type: false) {
@for $i from 1 through $grid-columns {
$selector: 'grid-col-';
@if $type { $selector: $selector + $type + '-' + $i; }
@else { $selector: $selector + $i; }
.#{$selector} { width: $i/$grid-columns*100%; }
}
}
但我仍然认为代码有点重复。是否有更聪明的方法来创建在选择器名称中添加类型的条件?
答案 0 :(得分:4)
使用if()
功能
$grid-columns: 12;
@mixin grid-col-builder($type: false) {
@for $i from 1 through $grid-columns {
.#{'grid-col-' + if($type, $type + '-', '') + $i} {
width: $i / $grid-columns * 100%;
}
}
}