Основных видов селекторов всего несколько:

селектор элементы
* любые элементы
div  элементы с таким тегом
#id элемент с данным id
.class элементы с таким классом
:hover  элементы с таким псевдоклассом
[name="value"] элементы с таким атрибутом
a#top.menu.element:hover комбинирование элемент a с id top, классами menu и top.menu.element, и псевдоклассом hover

Четыре вида отношений между элементами

селектор элементы
div p  элементы p, являющиеся потомками div
div > p элементы p, являющиеся непосредственными потомками div
div ~ p нижние соседи: все p на том же уровне вложенности, которые идут после div
div + p первый нижний сосед: p на том же уровне вложенности, который идёт сразу после div

Псевдоклассы

Псевдоэлементы

Селекторы атрибутов

На атрибут целиком:

селектор элемент
[attr]  элемент с атрибутом attr
[attr="val"] элемент с атрибутом attr имеющий значениее val

На содержание:

селектор элемент
[attr*="val"]  атрибут содержит подстроку val, например равен "myvalue"
[attr~="val"] атрибут содержит val как одно из значений через пробел

На начало атрибута:

селектор элемент
[attr^="val"] атрибут начинается с val, например "value"
[attr|="val"] атрибут равен val или начинается с val-, например равен "val-1"

Например: [attr~="delete"] верно для "edit delete" и неверно для "undelete" или "no-delete"

На конец атрибута:

селектор элемент
[attr$="val"] атрибут заканчивается на  val, например равен "myval"

Фильтр по месту среди соседей с тем же тегом

Фильтр по месту потомков

селектор элемент
:first-child первый потомок своего родителя
:last-child последний потомок своего родителя
:only-child единственный потомок своего родителя, соседних элементов нет
:nth-child(a) потомок номер a своего родителя, например :nth-child(2) – второй потомок. Нумерация начинается с 1
:nth-child(an+b) расширение предыдущего селектора через указание номера потомка формулой, где a,b – константы, а под n подразумевается любое целое число
:nth-child(2n+1) элементы номер 1, 3…, то есть нечётные
:nth-child(3n+2) элементы номер 2, 5, 8 и так далее
Back