0
Ich verwende BEM, um meine Klassennamen zu benennen, zB: .accordion, .accordion__title, .accordion__item__content.SCSS/SASS - Verwenden von BEM mit SASS und Attributen
Dafür habe ich geschaffen, um die folgende mixin:
@mixin child_el($element) {
&__#{$element} {
@content;
}
}
Es ist sehr gut arbeiten, aber ich habe ein Problem, wenn ich auch hinzufügen müssen Attribute:
.accordion {
display: block;
@include child_el(item) {
&[state=true] {
@include child_el(content) {
display: block;
}
}
}
}
Was ich versuche zu erreichen:
.accordion[state=true] .accordion__item {
display: block;
}
Die Eltern wird als & [state = true] anstelle von .acc lesen ordion
Gibt es einen Grund, warum Sie nicht den Standard verwenden können '& [state = true ] & __ item' Syntax? Es wird seit einiger Zeit unterstützt. – damd
eigentlich macht das Mixin dies; Aber wie löse ich die Verschachtelung? Kannst du mir ein Beispiel dafür geben, was ich mit & – user3541631
erreichen möchte? Ich fügte eine Antwort hinzu, wenn ich richtig verstanden habe, was du willst! – damd