Как динамически генерировать классы в SCSS из массива? - PullRequest
0 голосов
/ 28 декабря 2018

У меня есть массив классов

$ templates: ('one', 'two', 'three');

И я хочу сгенерировать следующий код

input[type="radio"][id="one"]:checked {
  & ~ .two,
  & ~ .three {
    width: 0;
    height: 0;
  }
}
input[type="radio"][id="two"]:checked {
  & ~ .one,
  & ~ .three {
    width: 0;
    height: 0;
  }
}
input[type="radio"][id="three"]:checked {
  & ~ .one,
  & ~ .two {
    width: 0;
    height: 0;
  }
}

Каков наилучший способ сделать это?

1 Ответ

0 голосов
/ 28 декабря 2018

Теперь у меня есть следующий код

@mixin somemixinname {
    width:0;
    height:0;
}

@each $class1 in $templates {
    input[type="radio"][id="#{$class1}"]:checked {
        @each $class2 in $templates {
            @if $class2 != $class1 {
                &  ~ .#{$class2} { @include somemixinname }
            }
         }
    }
}

Но он генерирует немного другой код (

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...