| селектор | элементы |
|---|---|
| * | любые элементы |
| 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 и так далее |