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

Иногда полезно использовать родительский селектор с другим предназначением, чем по умолчанию. Например, вы захотите использовать специальные стили для случая, когда над выбранными элементами находится курсор или когда тело элемента имеет определенный класс. В этих случаях, с помощью символа & вы можете явно указать, где должен быть вставлен родительский селектор, например:

scss
a {
  font-weight: bold;
  text-decoration: none;

  &:hover {
    text-decoration: underline;
  }

  body.firefox & {
    font-weight: normal;
  }
}
a
  font-weight: bold
  text-decoration: none

  &:hover
    text-decoration: underline

  body.firefox &
    font-weight: normal
css
a {
  font-weight: bold;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

body.firefox a {
  font-weight: normal;
}

Символ & будет заменен на родительский селектор, каким он компилируется в CSS. Это означает, что если у вас есть глубоко вложенное правило, родительский селектор будет полностью вычислен до символа & и подставится вместо него. Например:

scss
#main {
  color: black;

  a {
    font-weight: bold;

    &:hover {
      color: red;
    }
  }
}
#main
  color: black

  a
    font-weight: bold

    &:hover
      color: red
css
#main {
  color: black;
}

#main a {
  font-weight: bold;
}

#main a:hover {
  color: red;
}

Символ & должен быть указан в начале составного селектора, также он может содержать последующий суффикс, который будет добавлен к родительскому селектору. Например:

scss
#main {
  color: black;

  &-sidebar {
    border: 1px solid; 
  }
}
#main
  color: black

  &-sidebar
    border: 1px solid
css
#main {
  color: black;
}

#main-sidebar {
  border: 1px solid;
}

Если суффикс не применим к родительскому селектору, Sass выдаст ошибку.


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