möglich, ein Array in Sass zu definieren?
Frage
Ich frage mich, ob es möglich ist, ein Array mit Sass zu verwenden, da ich mich selbst wiederhole, wenn ich die folgende Art von Dingen wiederhole:
.donkey
h2
background-color= !donkey
.giraffe
h2
background-color= !giraffe
.iguana
h2
background-color= !iguana
Lösung
Nein, das ist nicht möglich. Der beste Weg, dies zu tun, besteht darin, einen Mixin zu definieren:
+animal-h2(!name, !color)
.#{name} h2
background-color= !color
Dann können Sie eine Linie pro Stil haben und nicht drei:
+animal-h2("donkey", !donkey)
+animal-h2("giraffe", !giraffe)
+animal-h2("iguana", !iguana)
Andere Tipps
Unbedingt.
$animals: "donkey", "giraffe", "iguana"
@foreach $animal in $animals
.#{$animal}
h2
background-color: !#{$animal}
Die Antwort von Nex3 ist korrekt. Um dies mit SASS auf Rails 3.1 zum Arbeiten zu bringen, musste ich Folgendes in einer CSS.Scss -Datei haben:
$donkey: #CC4499;
@mixin animal-h2($name, $color) {
.#{$name} h2 {
background-color: $color;
}
}
@include animal-h2("donkey", $donkey);
@include animal-h2("horse", #000);
Welche Ausgabe:
.donkey h2 {
background-color: #CC4499;
}
.horse h2 {
background-color: black;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow