2017-12-20 11 views
3

In sass ichIn sass kann ich & x & y & z

asdf{ 
    &-b&-c {font-size: 16px;} 
} 

Für die CSS generiert tun wollen

asdf.asdf-b.asdf-c{ 
    font-size: 16px; 
} 

Ist das möglich in sass zu tun sein? Oder werde muss ich

mehrmals übergeordnete Element schreiben
+1

Wenn du so sass Code testen wollen und nicht wissen, ob es funktioniert, können Sie gehen zu https://www.sassmeister.com/ (oder irgendeinen anderen Sass von deiner Wahl konvertieren) und Versuch und Irrtum, bis du fertig bist. – xdn

+0

Vielen Dank für den Tipp, ich habe es dort versucht, aber ich konnte es nicht erarbeiten – wjwtheone

Antwort

2

Sie Mixins verwenden können:

@mixin fontSize($selector) { 
    .#{$selector}.#{$selector}-b.#{$selector}-c { 
    font-size: 16px; 
    } 
} 

@include fontSize("asdf"); 

Ergebnis

.asdf.asdf-b.asdf-c { 
    font-size: 16px; 
} 
+0

Perfekt danke – wjwtheone

1

Wenn Sie die Syntax wäre wurden mit Abzüglich:

.asdf { 
    &&-b&c { 
    font-size: 16px; 
    } 
} 

Allerdings erlaubt Sass nicht & zu b e direkt mit einem anderen & im selben Selektor verbunden. Stattdessen Wiederverwendung muss Verwendung von Interpolation (#{...}) machen:

.test { 
    &#{&}-b#{&}-c { 
    font-size: 16px; 
    } 
} 
+0

Auch nützlich, danke – wjwtheone

Verwandte Themen