Se você precisar criar muitos estilos diferentes, mas semelhantes, lembre-se do tipo de dados da lista e da regra @each.
Mau
.x-icon {
width: 40px;
height: 40px;
background-size: contain;
&.cat {
background-image: url($icons-dir + '/cat.png');
}
&.dog {
background-image: url($icons-dir + '/dog.png');
}
&.horse {
background-image: url($icons-dir + '/horse.png');
}
&.pig {
background-image: url($icons-dir + '/pig.png');
}
}
Boa
.x-icon {
$icons: cat dog horse pig;
$size: 40px;
width: $size;
height: $size;
background-size: contain;
@each $icon in $icons {
&.#{$icon} {
background-image: url($icons-dir + '/#{$icon}.png');
}
}
}
Onde $ icons-dir aponta para sua pasta de recursos de ícones e foi previamente definido dentro de um arquivo _variables.scss compartilhado .