--- 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, Bdiv, span выберет оба элемента - и {{HTMLElement("div")}} и {{HTMLElement("span")}}.' ' (пробел) выбирает элементы, которые находятся внутри указанного элемента (вне зависимости от уровня вложенности).A Bdiv span выберет все элементы {{HTMLElement('span')}}, которые находятся внутри элемента {{HTMLElement('div')}}.'>' в отличие от пробела выбирает только те элементы, которые являются дочерними непосредственно по отношению к указанному элементу.A > Bul > li выберет только дочерние элементы {{HTMLElement('li')}}, которые находятся внутри, на первом уровне вложенности по отношению к элементу {{HTMLElement('ul')}}.'~' выбирает элементы, которые находятся на этом же уровне вложенности, после указанного элемента, с тем же родителем.A ~ Bp ~ span выберет все элементы {{HTMLElement('span')}}, которые находятся после элемента {{HTMLElement('p')}} внутри одного родителя.'+' выбирает элемент, который находится непосредственно после указанного элемента, если у них общий родитель.A + Bul + 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')}} | Первоначальное определение. |