То, что я пытаюсь сделать, это mixin с необязательным параметром для включения или отсутствия селектора вокруг правил. Вот ожидаемое поведение:правила обхода с селектором условно
@include smth(true) => .class{ color:blue }
@include smth(false) => color: blue
Я пытался что-то вроде этого:
@mixin smth($selector:true){
@if $selector {
.class{
}
color: blue;
@if $selector{
}
}
}
Очевидно скобки внутри директивы @If являются проблемой. Поэтому я попытался поместить содержимое @if по двойной цитате ".class{"
и с использованием интерполяции #{".class{"}
(с символом побега \
) и без него, поэтому он не будет мешать, но ничего не работает.
Чтобы быть коротким, я не хочу, чтобы sass обрабатывался . содержание @if но просто "положить его как это"
UPDATE
от cimmanon ответа мне удалось создать общую подмешать:
@mixin conditional-wrap($condition, $selector){
@if $condition{
#{$selector}{
@content
}
}
@else{
@content
}
}
И S О теперь мы можем сделать:
@mixin smth($selector:true){
@include conditional-wrap($selector, '.class'){
color: blue;
}
}
голосования, чтобы закрыть, как типографская ошибка (подсказка: вы не можете иметь больше открывающей фигурной скобки, чем вы закрыть фигурные скобки). – cimmanon
вы имеете в виду внутри той же директивы @if? потому что иначе нет. – Ghetolay
Затем ваша вложенность испорчена, вам нужно найти редактор, который будет показывать соответствующие фигурные скобки. – cimmanon