Селекторы расширения

Иногда вы будете писать стили для класса, который вы хотите использовать только с директивой @extend и не хотите использовать непосредственно в HTML. Это особенно важно при написании Sass библиотеки, где вы можете передавать стили пользователям через @extend, если им это нужно, и игнорировать, если нет.

Если вы используете для этого обычные классы, то в конце концов вы можете столкнуться с тем, что у вас таблица стилей намного больше, чем могло бы быть и даже конфликты с другими классами, которые используются в HTML. Вот почему Sass поддерживает шаблонные селекторы(например, %foo).

Шаблонные селекторы выглядят так же, как и селекторы классов или идентификаторов, только . или # заменены на %. Они могут быть использованы в любом месте, где могут находиться классы или идентификаторы, и сами по себе они не дают набора правил в генерируемом CSS файле. Например:

scss
// Данный набор правил не будет сгенерирован
#context a%extreme {
  color: blue;
  font-weight: bold;
  font-size: 2em;
}
// Данный набор правил не будет сгенерирован
#context a%extreme
  color: blue
  font-weight: bold
  font-size: 2em

Тем не менее, шаблонные селекторы могут быть расширены, также как классы или идентификаторы. Расширенные селекторы будут сгенерированы, а базовый шаблонный селектор - нет. Например:

scss
.notice {
  @extend %extreme;
}
.notice
  @extend %extreme
css
#context a.notice {
  color: blue;
  font-weight: bold;
  font-size: 2em; 
}

Ваша 
Поддержка