Вы можете организовать свои цвета в 2-уровневом SASS map
и использовать @each
для циклического перебора всех определенных видов спорта. Затем вы можете получить свойство baselinkcolor
, используя map-get
:
$colors: (
"other" : ("baselinkcolor": #0088cc, "color": #000000),
"basketball" : ("baselinkcolor": #d18000, "color": #ff9900),
"football" : ("baselinkcolor": #99753d, "color": #99743d)
);
a, a:visited, a:active, .pool, .cell-container {
@each $sport, $values in $colors {
.#{$sport} & {
color: map-get($values, "baselinkcolor");
}
}
}
В результате вы получите
.other a, .other a:visited, .other a:active,
.other .pool,
.other .cell-container {
color: #0088cc;
}
.basketball a, .basketball a:visited, .basketball a:active,
.basketball .pool,
.basketball .cell-container {
color: #d18000;
}
.football a, .football a:visited, .football a:active,
.football .pool,
.football .cell-container {
color: #99753d;
}
...
И, как видите, не только код S CSS сокращается, но также уменьшается выход.
Вы можете проверить это, скопировав код S CSS на sassmeister