Каждый CSS селектор взят из последнего стандарта CSS3.
Базовые селекторы
element
Селектор: element.
Описание: селектор типа. Соответствует элементу.
Пример:
p { color: red }
/* соответствует абзацам */.class
Селектор: .class.
Описание: селектор класса. Соответствует значению атрибута class.
Пример:
.warning { color: red }
/* соответствует элементам, содержащим class="warning" */#id
Селектор: #id.
Описание: селектор идентификатора. Соответствует значению id атрибута.
Пример:
#warning { color: red }
/* matches elements containing id="warning" */*
Селектор: *.
Описание: универсальный селектор. Соответствует всему.
Пример:
* { color: red }
/* соответствует всему */Селекторы атрибутов
[attribute]
Селектор: [attribute].
Описание: сопоставляет элементы, содержащие заданный атрибут.
Пример:
a[href] { color: red }
/* сопоставляет элементы с атрибутом href */[attribute=»x»]
Селектор: [attribute=»x»].
Описание: сопоставляет элементы, содержащие данный атрибут, с заданным значением.
Пример:
a[href="/sitemap/"] { color: red }
/* сопоставляет элементы с атрибутом и значением href="/sitemap/" */[attribute~=»x»]
Селектор: [attribute~=»x»].
Описание: сопоставляет элементы, содержащие данный атрибут, со значением, которое содержит вложенное значение в списке, разделённом пробелом.
Пример:
abbr[title~="Style"] { color: red }
/* сопоставляет элементы abbr с заголовком, содержащим 'Style' (например, в названии ="Cascading Style Sheets") */[attribute|=»x»]
Селектор: [attribute|=»x»].
Описание: сопоставляет элементы, содержащие данный атрибут, со значением, которое содержит вложенное значение в списке, разделённом дефисом.
Пример:
html[lang|="en"] { color: red }
/* сопоставляет html-элементы с атрибутом lang, которые содержит 'en' (например в названии="en-gb") */[attribute^=»x»]
Селектор: [attribute^=»x»].
Описание: сопоставляет элементы, содержащие данный атрибут, со значением, которое начинается с чего-либо.
Пример:
a[href^="http://"] { color: red }
/* соответствует элементу с атрибутом href, значение которого начинается с 'http://' */[attribute$=»x»]
Селектор: [attribute$=»x»].
Описание: сопоставляет элементы, содержащие данный атрибут, со значением, которое заканчивается чем-то.
Пример:
a[href$=".com"] { color: red }
/* соответствует элементу с атрибутом href, значение которого заканчивается на '.com' */[attribute*=»x»]
Селектор: [attribute*=»x»].
Описание: сопоставляет элементы, содержащие данный атрибут, со значением, которое содержит что-то.
Пример:
a[href*="htmldog"] { color: red }
/* сопоставляет элементы с атрибутом href, значение которого содержит 'htmldog' */Псевдоклассы
:link
Селектор: :link.
Описание: соответствует ссылке, которую никто не посещал.
Пример:
a:link { color: blue }:visited
Селектор: :visited.
Описание: соответствует ссылке, по которой вы прошли.
Пример:
a:visited { color: purple }:active
Селектор: :active.
Описание: соответствует активируемому элементу, например ссылке, по которой нажимают.
Пример:
a:active { color: red }:hover
Селектор: :hover.
Описание: соответствует элементу, на поле которого наведён курсор.
Пример:
a:hover { text-decoration: none }:focus
Селектор: :focus.
Описание: соответствует элементу, который имеет фокус, например, тому, к которому была добавлена вкладка.
Пример:
a:focus { border: 1px solid yellow }:target
Селектор: :target.
Описание: соответствует элементу, на который была ссылка (через <a href=»#x»…, например).
Пример:
h2:target { color: red }
/* соответствует заголовку второго уровня, который был связан с */:lang()
Селектор: :lang().
Описание: соответствует элементу данного языка.
Пример:
p:lang(fr) { color: red }
/* соответствует абзацам, которые объявлены или иным образом считаются французскими */:first-child
Селектор: :first-child.
Описание: соответствует первому дочернему элементу.
Пример:
p:first-child { color: red }
/* соответствует первому дочернему элементу элемента, если это абзац */
:last-child
Селектор: :last-child.
Описание: соответствует последнему дочернему элементу.
Пример:
div p:last-child { color: blue }
/* соответствует последнему дочернему элементу элемента, если это абзац */
:first-of-type
Селектор: :first-of-type.
Описание: соответствует первому брату своего типа в элементе.
Пример:
li:first-of-type { color: red }
/* соответствует первому экземпляру элемента списка внутри элемента */:last-of-type
Селектор: :last-of-type.
Описание: соответствует последнему аналогу своего типа в элементе.
Пример:
li:last-of-type { color: blue }
/* соответствует последнему экземпляру элемента списка внутри элемента */:nth-child()
Селектор: :nth-child().
Описание: соответствует элементу, который является дочерним элементом с порядковым номером его родительского элемента.
Пример:
p:nth-child(3) { color: red }
/* соответствует третьему дочернему элементу элемента, если это абзац */:nth-last-child()
Селектор: :nth-last-child().
Описание: соответствует элементу, который является дочерним элементом с порядковым номером, в обратном порядке, его родительского элемента.
Пример:
p:nth-last-child(2) { color: blue }
/* соответствует предпоследнему дочернему элементу элемента, если это абзац */:nth-of-type()
Селектор: :nth-of-type().
Описание: соответствует элементу, который является порядковым номером, родственным его типу.
Пример:
li:nth-of-type(5) { color: red }
/* соответствует пятому экземпляру элемента списка внутри элемента */:nth-last-of-type()
Селектор: :nth-last-of-type().
Описание: соответствует элементу, который является исходным номером, родственным в обратном порядке его типу.
Пример:
li:nth-of-type(5) { color: red }
/* соответствует предпоследнему экземпляру элемента списка внутри элемента */:only-child
Селектор: :only-child.
Описание: соответствует элементу, если он является единственным дочерним элементом его родительского элемента.
Пример:
article p:only-child { color: red }
/* соответствует абзацу, если он является единственным дочерним элементом элемента article */:only-of-type
Селектор: :only-of-type.
Описание: сопоставляет элемент, если он является единственным аналогом своего типа.
Пример:
article aside:only-of-type { color: blue }
/* соответствует дополнительному элементу, если это единственный дополнительный элемент в элементе article */:empty
Селектор: :empty.
Описание: сопоставляет элемент, у которого нет дочерних элементов или содержимого.
Пример:
td:empty { border-color: red }
/* сопоставляет ячейки данных таблицы, в которых ничего нет 'em */:root
Селектор: :root.
Описание: соответствует корневому элементу документа. Это будет html элемент в HTML.
Пример:
:root { background: yellow }:enabled
Селектор: :enabled.
Описание: соответствует элементам управления формой, которые не отключены.
Пример:
input:enabled { border-color: lime }
/* соответствует элементам ввода, которые не отключены */:disabled
Селектор: :disabled.
Описание: соответствует элементам управления формой, которые отключены.
Пример:
input:enabled { border-color: red }
/* соответствует отключённым элементам ввода */:checked
Селектор: :checked.
Описание: соответствует элементу ввода типа радио или флажка, который отмечен.
Пример:
input:checked { outline: 3px solid yellow }
/* соответствует проверенным входным элементам */:not()
Селектор: :not().
Описание: псевдокласс согласования. Соответствует элементу, который не соответствует селектору.
Пример:
p:not(:first-child) { color: orange }
/* соответствует абзацам, которые не являются первыми дочерними */Псевдоэлементы
::first-line
Селектор: ::first-line.
Описание: соответствует первой текстовой строке в элементе.
Пример:
p::first-line { font-weight: bold }
/* соответствует первой строке абзаца */::first-letter
Селектор: ::first-letter.
Описание: соответствует первой букве в элементе.
Пример:
p::first-letter { font-size: 2em }
/* соответствует первой букве в абзаце */::before
Селектор: ::before.
Описание: используется с content свойством для генерации содержимого перед исходным содержимым элемента.
Пример:
h1::before { content: "*" }
/* помещает звездочку в начало заголовка верхнего уровня */::after
Селектор: ::after.
Описание: используется с content свойством для генерации содержимого после начального содержимого элемента.
Пример:
h1::after { content: "+" }
/* ставит знак "плюс" в конце заголовка верхнего уровня */Нацеливание на первую букву и первую строку с использованием псевдоэлементов.
Псевдоэлементы также могут быть определены с использованием одинарного, а не двойного двоеточия (:first-line в отличие от ::first-line, например). Хотя это олдскульный подход, он также, по самому этому факту, более широко поддерживается браузерами.
Комбинаторы
selector selector
Селектор: selector selector.
Описание: комбинатор-потомок. Сопоставляет элементы, которые являются потомками другого элемента.
Пример:
aside p { color: red }
/* соответствует абзацам внутри элементов, содержащих class="warning" */selector > selector
Селектор : selector > selector.
Описание: дочерний комбинатор. Сопоставляет элементы, которые являются дочерними по отношению к другому элементу.
Пример:
.warning > p { color: red }
/* соответствует абзацам, которые являются дочерними элементами элементов, содержащих class="warning" */selector + selector
Селектор: selector + selector.
Описание: комбинатор смежного родства. Сопоставляет элементы, которые непосредственно следуют за другим элементом.
Пример:
h1 + * { color: red }
/* соответствует первому элементу, который следует за заголовком верхнего уровня */selector ~ selector
Селектор : selector ~ selector.
Описание: общий комбинатор родственных элементов. Сопоставляет элементы, которые следуют за другим элементом.
Пример:
h2 ~ p { color: red }
/* соответствует каждому абзацу, который следует за заголовком второго уровня */Помимо базовых селекторов, некоторые другие могут вызывать проблемы с несовместимостью, особенно со старыми браузерами. Как всегда, тщательно протестируйте.
Страницы в тему: