Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 带SASS的条件选择器名称_Css_Sass - Fatal编程技术网

Css 带SASS的条件选择器名称

Css 带SASS的条件选择器名称,css,sass,Css,Sass,我想生成像grid-col-1,grid-col-md-1,grid-col-lg-1,grid-col-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: $selec

我想生成像
grid-col-1
grid-col-md-1
grid-col-lg-1
grid-col-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%; }
  }
}

但我仍然认为代码有点重复。有没有更智能的方法来生成在选择器名称中添加类型的条件?

您可以通过使用
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%;
    }
  }
}