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.