Вкладеність CSS і специфічність

специфічність селектора вкладеності & обчислюється за допомогою найбільшої специфічності в пов'язаному з ним списку селекторів. Це ідентично тому, як обчислюється специфічність при використанні функції :is().

<b class="foo">
  <c>Синій текст</c>
</b>

Синтаксис вкладеності &

#a, b {
  & c {
    color: blue;
  }
}

.foo c {
  color: red;
}

Синтаксис :is()

:is(#a, b) {
  & c {
    color: blue;
  }
}

.foo c {
  color: red;
}

У цьому прикладі селектор ідентифікатора (#a) має специфічність 1-0-0, тоді як селектор типу (b) має специфічність 0-0-1. Селектор вкладеності & та псевдоклас :is() обидва мають специфічність 1-0-0, навіть якщо селектор ідентифікатора #a ніколи не використовується.

Селектор класу .foo має специфічність 0-1-0. Це призводить до сумарної специфічності 1-0-1 для & c та 0-1-1 для .foo c, що означає, що color: blue; перемагає.

Дивіться також