Специфичность
Но порядок — это не всё. Прежде чем смотреть на порядок, каскад сравнивает специфичность селекторов, то есть насколько точно они указывают на элемент. Более специфичный селектор побеждает, даже если он написан раньше. Порядок решает только между селекторами одинаковой специфичности.
От самого специфичного к наименее специфичному:
- id, например
#title, - класс, селектор атрибута или псевдокласс, например
.group,[target="_blank"]или:hover, - тип, например
h1.
Универсальный селектор * не учитывается вовсе, поэтому любой другой селектор побеждает его.
.group {
background-color: linen;
}
div {
background-color: white;
}Здесь группы остаются бежевыми, хотя правило для div идёт позже: класс специфичнее типа.
Если селектор состоит из нескольких частей, они складываются: один id побеждает любое количество классов, а один класс побеждает любое количество типов. Поэтому .group:hover (класс и псевдокласс) побеждает .group (только класс), и фон группы меняется при наведении. А footer p (два типа) победил бы p (один тип).
Стили в атрибуте style побеждают все селекторы. Это ещё одна причина избегать их: их трудно переопределить.
Задание
- 1
В самом начале
style.cssсоздайте правило для idtitleс объявлениемcolor: darkred. Хотя правило дляh1задаёт цвет позже в файле, главный заголовок будет тёмно-красным, потому что id специфичнее типа.