2009-12-14 3 views

ответ

2

Нет, это невозможно. Лучший способ сделать это состоит в определении подмешать:

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

Тогда вы можете иметь одну строку на стиль, а не три: ответ

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

Это именно то, что я искал, спасибо –

0

NEX3 является правильным. Для того, чтобы получить эту работу с SASS на Rails 3.1 я должен иметь следующее в файле css.scss:

$donkey: #CC4499; 

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

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

Какой выход:

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

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

Абсолютно.

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

Justin на этом. Я использовал [списки Sass] (http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#lists) для удовольствия и прибыли и может поручиться за их полезность. После прочтения списков Sass вы также должны взглянуть на функции списка Sass, найденные здесь (http://sass-lang.com/docs/yardoc/Sass/Script/Functions.html#list-functions). Они почти никогда не помогают, но в определенных случаях они могут сделать вашу жизнь проще! – Bitmanic