2009-12-14 9 views

Répondre

2

Non, cela est impossible. La meilleure façon de le faire est de définir un mixin:

+animal-h2(!name, !color) 
    .#{name} h2 
    background-color= !color 

Ensuite, vous pouvez avoir une ligne par un style, plutôt que trois:

+animal-h2("donkey", !donkey) 
+animal-h2("giraffe", !giraffe) 
+animal-h2("iguana", !iguana) 
+0

C'est exactement ce que je cherchais, merci –

0

La réponse de NEX3 est correcte. Pour obtenir ce travail avec SASS on Rails 3.1 je devais avoir les éléments suivants dans un fichier css.scss:

$donkey: #CC4499; 

@mixin animal-h2($name, $color) { 
    .#{$name} h2 { 
    background-color: $color; 
    } 
} 

@include animal-h2("donkey", $donkey); 
@include animal-h2("horse", #000); 

Quelle sortie:

.donkey h2 { 
    background-color: #CC4499; 
} 

.horse h2 { 
    background-color: black; 
} 
17

Absolument.

$animals: "donkey", "giraffe", "iguana" 
@foreach $animal in $animals 
    .#{$animal} 
    h2 
     background-color: !#{$animal} 
+0

Justin a raison. J'ai utilisé [listes Sass] (http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#lists) pour le plaisir et le profit et je peux témoigner de leur utilité. Après avoir lu sur les listes de Sass, vous devriez également jeter un coup d'oeil aux fonctions de liste de Sass, trouvées [ici] (http://sass-lang.com/docs/yardoc/Sass/Script/Functions.html#list-functions). Ils ne sont presque jamais utiles, mais ils peuvent vraiment vous faciliter la vie dans certains cas! – Bitmanic

Questions connexes