css - SASS rule reuse -
css - SASS rule reuse -
i have set of icons different colors , each color used different status declared css classes. example, <span class="icon icon--app"><span>
gives grayness app icon while <span class="icon icon--app icon__light icon__selected"><span>
gives white app icon.
the next code written in scss.
span.icon { display: inline-block; width: 32px; height: 32px; &.icon--app { background: url(../images/app_gray.png); &.icon__selected { background: url(../images/app.png); } &.icon__light { background: url(../images/app_gray.png); &.icon__selected { background: url(../images/app_white.png); } } } &.icon--device { background: url(../images/device_gray.png); &.icon__selected { background: url(../images/device.png); } &.icon__light { background: url(../images/device_gray.png); &.icon__selected { background: url(../images/device_white.png); } } } }
the problem is, there's long list of css rules above, shares much similarity app
, device
, other icons. wonder if can simplify these css rules using sass?
i created mixin you:
@mixin icon($type) { &.icon--#{$type} { background: url(../images/#{$type}_gray.png); &.icon__selected { background: url(../images/#{$type}); } &.icon__light { background: url(../images/#{$type}); &.icon__selected { background: url(../images/#{$type}_white.png) } } } } span.icon { display: inline-block; width: 32px; height: 32px; @include icon(app); @include icon(device); }
css sass
Comments
Post a Comment