Вкладеність 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;
перемагає.