2013-11-21 14 views
20

C'è un modo per utilizzare il valore nth-child come variabile SASS?Usa valore nth-child come variabile SASS

Esempi di utilizzo:

div:nth-child(n) { 
    content: '#{$n}' 
} 
div:nth-child(n) { 
    background: rgb(#{$n}, #{$n}, #{$n}); 
} 

risposta

32

Io non credo che ci sia un modo per fare esattamente questo. Ma è possibile utilizzare @for direttiva per scorrere un numero noto di elementi:

$elements: 15; 
@for $i from 0 to $elements { 
    div:nth-child(#{$i}) { 
    background: rgb($i, $i, $i); 
    } 
} 
+0

Questo è quello che sto facendo oggi, sarebbe bello trovare aw puoi farlo su un numero sconosciuto di elementi. – zessx

+10

Sarebbe bello se avessi $ 1 milione di dollari, anche. Quello che stai chiedendo non può essere fatto. – cimmanon

+0

c'è un modo per impostare '$ elementi' dinamicamente in base a quanti elementi ci sono nel DOM generato? – ahnbizcad

5

È possibile utilizzare un mixin come questo:

@mixin child($n) { 
    &:nth-child(#{$n}){ 
      background-color:rgb($n,$n,$n); 
    } 
} 

div{ 
    @include child(2); 
    } 

il CSS compilato assomiglia:

div:nth-child(2) { 
    background-color: #020202; 
} 

vedere un esempio here

+0

Grazie, ma l'obiettivo è quello di evitare più di simili linee – zessx

+0

Ancora dipendente da argomenti espliciti passati, ma ancora meglio di completamente manuale! Grazie! – ahnbizcad

Problemi correlati