Это никоим образом не предназначено для того, чтобы помочь вам сжать этот код в одну строку, но думать об этом с другой точки зрения.
В этом посте на Sass Way под названием "Sassуправляющие директивы: @if, @for, @each и @ while ", я рассматриваю управляющие директивы в Sass.Вот способ написать свой код, используя директиву @each.
$fruit-list: apple orange pear
=fruit
@each $fruit in $fruit-list
&.#{$fruit}
background-image: url(#{$fruit}.png)
.fruit
+fruit
, который выводит:
.fruit.apple {
background-image: url(apple.png);
}
.fruit.orange {
background-image: url(orange.png);
}
.fruit.pear {
background-image: url(pear.png);
}
Используя .scss, мы можем сделать это одним слоем, но за счетудобочитаемость кода:
$fruit-list: apple orange pear;
@mixin fruit { @each $fruit in $fruit-list { &.#{$fruit} { background-image: url(#{$fruit}.png); } } }
.fruit { @include fruit; }