:root
Селектор позволяет целевой элемент высшего уровня «родительского» в DOM или дерево документа. Он определен в спецификации CSS Selectors Level 3 как «структурный псевдокласс», что означает, что он используется для стилизации контента на основе его отношений с родительским и родственным контентом.
В подавляющем большинстве случаев, с которыми вы, вероятно, столкнетесь, :root
относится к элементу на веб-странице. В документе HTML
html
элемент всегда будет родительским элементом самого высокого уровня, поэтому его поведение :root
предсказуемо. Однако, поскольку CSS - это язык стилей, который можно использовать с другими форматами документов, такими как SVG и XML, :root
в этих случаях псевдокласс может ссылаться на разные элементы. Независимо от языка разметки, :root
всегда будет выбирать самый верхний элемент документа в дереве документа.
В приведенном ниже примере :root
селектор псевдокласса используется для создания цвета фона за элементом. В этом случае того же эффекта можно добиться, используя
html
вместо этого селектор элементов в нашем CSS.
Посмотрите на эту ручку!
Точки интереса
- Хотя
:root
селектор иhtml
селектор нацелены на одни и те же элементы HTML, может быть полезно знать, что на:root
самом деле они имеют более высокую специфичность. Селекторы псевдоклассов (но не псевдоэлементы) имеют специфичность, равную специфике класса, который выше, чем селектор базового элемента.
Поддержка браузера
Хром | Сафари | Fire Fox | Опера | IE | Android | iOS |
---|---|---|---|---|---|---|
Ага | Ага | Ага | 9.5+ | IE9 + | Ага | Ага |