MENU
extend
Sass supports some 'inheritance' capabilities.You may @extend and chain multiple selectors.
.error {
border: 1px #f00;
background-color: #fdd;
}
.attention:hover {
font-size: 3em;
background-color: #ff0;
}
.seriousError {
@extend .error;
@extend .attention:hover;
border-width: 3px;
}
.criticalError {
@extend .seriousError;
position: fixed;
top: 10%;
bottom: 10%;
left: 10%;
right: 10%;
}.error, .seriousError, .criticalError {
border: 1px #f00;
background-color: #fdd;
}
.attention:hover, .seriousError, .criticalError {
font-size: 3em;
background-color: #ff0;
}
.seriousError, .criticalError {
border-width: 3px;
}
.criticalError {
position: fixed;
top: 10%;
bottom: 10%;
left: 10%;
right: 10%;
}Placeholder selectors, prefixed with %, won't generate its CSS. !optional suppresses any error messages.
// This ruleset won't be rendered on its own.
#context a%extreme {
color: blue;
font-weight: bold;
font-size: 2em;
}
a.notice {
@extend %extreme;
}
p.notice {
@extend %extreme !optional;
}#context a.notice {
color: blue;
font-weight: bold;
font-size: 2em;
}Note that selector sequences (such as .foo .bar or .foo + .bar) and selectors within a different @media block currently can't be extended.