Come @hopper ha detto il problema principale è che non si è prefisso variabili interpolati con il simbolo del dollaro in modo dalla sua risposta deve essere contrassegnata come corretta, ma voglio aggiungere un suggerimento.
Usa @each
regola invece di @for
anello per questo caso specifico. Le ragioni:
- Non c'è bisogno di conoscere la lunghezza della lista
- Non è necessario utilizzare
length()
funzione per calcolare la lunghezza della lista
- Non è necessario utilizzare funzione ennesima()
@each
regola è più semantica di @for
direttiva
Il codice:
$colours: rgb(255,255,255), // white
rgb(255,0,0), // red
rgb(135,206,250), // sky blue
rgb(255,255,0); // yellow
@each $colour in $colours {
#cp#{$colour} {
background-color: rgba($colour, 0.6);
&:hover {
background-color: rgba($colour, 1);
cursor: pointer;
}
}
}
O se si preferisce è possibile includere ogni $ colore nella direttiva @each invece di dichiarare $ colori variabili:
$colour1: rgb(255,255,255); // white
$colour2: rgb(255,0,0); // red
$colour3: rgb(135,206,250); // sky blue
$colour4: rgb(255,255,0); // yellow
@each $colour in $colour1, $colour2, $colour3, $colour4 {
#cp#{$colour} {
background-color: rgba($colour, 0.6);
&:hover {
background-color: rgba($colour, 1);
cursor: pointer;
}
}
}
Sass Reference for @each
directive
fonte
2013-12-03 09:35:14
e cosa è sbagliato in questo codice? –
il colore @neosatan è scritto in modo errato ... ;-) –
@StenMuchow http://grammarist.com/spelling/color-colour/ non potrebbe essere utile –