Ich habe ein Element wie diese
.block{
$this: &;
&__element{
// styles go here
}
&:hover{
#{$this}__subelement {
// styles go here
}
}
}
Diese ist im Grunde so, dass ich Änderungen an dem Subelement induzieren kann, wenn auf dem Block schwebt, die es enthält (I‘ m mit BEM). Aber nach der Kompilation fügt Sass zusätzlichen Platz hinzu
.block:hover .block__subelement {
// styles go here
}
Und macht diesen Stil ungültig. Die einzige Möglichkeit, dies zu umgehen, ist das Schreiben
.block{
$this: &;
&__element{
// styles go here
}
&:hover{
#{$this}__subelement{ // remove spacing here
// styles go here
}
}
}
Warum passiert das? Ist es wegen der Lader, die ich benutze oder?
Ich war wahrscheinlich nicht klar genug. Ich möchte den Abstand zwischen '.block 'und' .block .block__subelement' haben, der Abstand, den ich zu entfernen versuche, ist der zwischen '.block__subelement' und' {' –
Ich dachte, die Frage sei ein bisschen seltsam. :) Der Leerraum zwischen der Regel und der Definition sollte die Regeln überhaupt nicht beeinflussen. Siehe [dieses Beispiel] (https://codepen.io/anon/pen/eEqjgm). Bricht das im Browser oder zeigt BEM sie nicht korrekt an? – LightBender
Seltsam, weil in meinem Projekt der zusätzliche Platz den Stil nicht funktionierte: S Muß ein Stilproblem oder etwas ähnliches sein:/Danke für die Hilfe –