--- title: CSS-селекторы slug: Web/CSS/CSS_Selectors tags: - CSS - Обзор - Селекторы translation_of: Web/CSS/CSS_Selectors original_slug: Web/CSS/CSS_Селекторы ---
Селектор определяет, к какому элементу применять то или иное CSS-правило.
Обратите внимание - не существует селекторов, которые бы позволили выбрать родителя (содержащий контейнер) или соседа родителя или потомков соседа родителя.
*
ns|*
*|*
*
будет соответствовать всем элементам на странице.элемент
input
выберет все элементы {{HTMLElement('input')}}.class
..имяКласса
.index
выберет все элементы с соответствующим классом (который был определен в атрибуте class="index"
).id
атрибута. Не забывайте, что идентификатор должен быть уникальным, т. е. использоваться только для одного элемента в HTML-документе. #имяИдентификатора
#toc
выберет элемент с идентификатором toc (который был определен в атрибуте id="toc"
).[attr] [attr=value] [attr~=value] [attr|=value] [attr^=value] [attr$=value] [attr*=value]
[autoplay]
выберет все элементы, у которых есть атрибут autoplay
(независимо от его значения).,
это способ группировки, он выбирает все совпадающие узлы.A, B
div, span
выберет оба элемента - и {{HTMLElement("div")}} и {{HTMLElement("span")}}.' '
(пробел) выбирает элементы, которые находятся внутри указанного элемента (вне зависимости от уровня вложенности).A B
div span
выберет все элементы {{HTMLElement('span')}}, которые находятся внутри элемента {{HTMLElement('div')}}.'>'
в отличие от пробела выбирает только те элементы, которые являются дочерними непосредственно по отношению к указанному элементу.A > B
ul > li
выберет только дочерние элементы {{HTMLElement('li')}}, которые находятся внутри, на первом уровне вложенности по отношению к элементу {{HTMLElement('ul')}}.'~'
выбирает элементы, которые находятся на этом же уровне вложенности, после указанного элемента, с тем же родителем.A ~ B
p ~ span
выберет все элементы {{HTMLElement('span')}}, которые находятся после элемента {{HTMLElement('p')}} внутри одного родителя.'+'
выбирает элемент, который находится непосредственно после указанного элемента, если у них общий родитель.A + B
ul + li
выберет любой {{HTMLElement('li')}} элемент, который находится непосредственно после элемента {{HTMLElement('ul')}}.:
позволяет выбрать элементы, основываясь на информации, которой нет в дереве элементов.a:visited
соответствует всем элементам {{HTMLElement("a")}} которые имеют статус "посещённые".div:hover
соответствует элементу, над которым проходит указатель мыши.input:focus
соответствует полю ввода, которое получило фокус.::
позволяет выбрать вещи, которых нет в HTML.p::first-line
соответствует первой линии абзаца {{HTMLElement("p")}}.Спецификация | Статус | Комментарии |
---|---|---|
{{SpecName('CSS4 Selectors')}} | {{Spec2('CSS4 Selectors')}} | Добавление комбинатора колонок || , селекторов структуры сеточной разметки (CSS grid selector), логических комбинаторов, местоположения, временных, состояния ресурсов, лингвистических и UI псевдоклассов, модификаторов для ASCII регистрозависимых и регистронезависимых атрибутов со значениями и без них. |
{{SpecName('CSS3 Selectors')}} | {{Spec2('CSS3 Selectors')}} | Добавлен комбинатор ~ и древовидные структурные псевдоклассы.Сделаны псевдоэлементы, использующие префик :: двойное двоеточие. Селекторы дополнительных атрибутов. |
{{SpecName('CSS2.1', 'selector.html')}} | {{Spec2('CSS2.1')}} | Добавлен комбинатор потомков > и комбинатор следующего соседа + .Добавлен универсальный (*) комбинатор и селектор атрибутов. |
{{SpecName('CSS1')}} | {{Spec2('CSS1')}} | Первоначальное определение. |