Содержание

CSS. Селекторы

Основные виды селекторов

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

Селекторы можно комбинировать, записывая последовательно, без пробела:

.c1.c2

– элементы одновременно с двумя классами c1 и c2

a#id.c1.c2:visited

– элемент a с данным id, классами c1 и c2, и псевдоклассом visited

Отношения

В CSS3 предусмотрено четыре вида отношений между элементами.

div p

– элементы p, являющиеся потомками div.

div > p

– только непосредственные (идущие на один уровень вложенности ниже родителя) потомки

div ~ p 

– правые соседи: все p на том же уровне вложенности, которые идут после div.

div + p

– первый правый сосед: p на том же уровне вложенности, который идёт сразу после div (если есть).

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

При выборе элемента можно указать его место среди соседей.

Список псевдоклассов для этого:

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

Есть аналогичные псевдоклассы, которые учитывают не всех соседей, а только с тем же тегом:

Они имеют в точности тот же смысл, что и обычные :first-child, :last-child и так далее, но во время подсчёта игнорируют элементы с другими тегами, чем тот, к которому применяется фильтр.

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

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

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

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

[attr~="delete"] 

верно для «edit delete» и неверно для «undelete» или «no-delete».

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

Другие псевдоклассы

Псевдоэлементы ::before, ::after

«Псевдоэлементы» – различные вспомогательные элементы, которые браузер записывает или может записать в документ.

При помощи псевдоэлементов ::before и ::after можно добавлять содержимое в начало и конец элемента.