Псевдоэлементы 1
:first-of-type
и 1
:last-child
1 | :first-of-type |
1 | :last-child |
Псевдоэлемент
служит для выборки дочернего элемента определенного типа.
1 :first-of-type
Можно сказать, что псевдоэлемент
является частным случаем псевдоэлемента 1
:first-of-type
. Если псевдоэлемент 1
:first-child
выполняет выборку первого дочернего элемента вне зависимости от его типа, то псевдоэлемент 1
:first-child
осуществляет выборку первого дочернего элемента только указанного типа (если этот элемент отвечает заданному условию - типу элемента).1
:first-of-type
Аналогично работает псевдоэлемент
, только применяется к последнему дочернему элементу определенного типа. Более общим случаем является псевдоэлемент 1
:last-of-type
.1
:last-child
Псевдоэлементы
, 1
:last-child
, 1
:nth-child()
НЕ ПОДДЕРЖИВАЮТСЯ IE8.1
:first-of-type
Пример:
… в примере тег
является указанием типа дочернего элемента. То есть, будет выбран первый дочерний элемент типа 1
p
, родителем которого является элемент с классом 1
p
.1
.fofo
Выбрать последний дочерний элемент типа
, родителем которого является элемент с классом 1
p
.1
.wowo
Рабочий пример приведен ниже. Два одинаковых списка. К первому применен псевдоэлемент
, ко второму - псевдоэлемент 1
:first-of-type
.1
:first-child
В первом случае выбран первый параграф списка, так как в выражении указано выбрать именно первый дочерний элемент списка, являющийся параграфом
:1
p
Во втором случае к списку применен псевдоэлемент
и в этом случае был отобран первый элемент указанного списка - ссылка 1
:first-child
! А то, что этот элемент является ссылкой, а не параграфом 1
a
, роли не играет - тип элемента не был указан:1
p
Псевдоэлемент
и его общий случай 1
:last-of-child
разбирать смысла нет, так как выборка элемента из HTML-документа осуществляется аналогично с тем лишь различием, что применяется не к первому, а последнему дочернему элементу.1
:last-child
Псевдоэлемент 1
:nth-of-type
1 | :nth-of-type |
Псевдоэлемент
является частным случаем псевдоэлемента 1
:nth-of-type
. В случае с 1
:nth-child
выборка элементов производится не только по порядковому номеру, но и по типу элемента.1
:nth-of-type
Например,
и 1
p img:nth-of-type(odd){float: left}
делает выборку четных и нечетных порядковых номеров только элементов 1
p img:nth-of-type(even){float: right}
.1
img
Отбираются все дочерние по отношению к
элементы типа 1
.nthOfType
, нечетные по порядковому номеру. И применяются к нему правила - смещение влево, 1
img
и тень справа:1
margin-right
Отбираются все дочерние по отношению к
элементы типа 1
.nthOfType
, четные по порядковому номеру. И применяются к нему правила - смещение право, 1
img
и тень слева:1
margin-left
Псевдокласс :not
Псевдокласс
(псевдокласс отрицания) - выбрать все элементы 1
:not
, у которых НЕТ класса 1
p
и применить к ним следующие свойства: цвет и тень. Другими словами, выборка элементов с помощью псевдокласса 1
.classy
производится от обратного - “выбрать все элементы, которые НЕ ОТВЕЧАЮТ следующему условию.”1
:not
Этот псевдокласс является антагонистом обычного условия - “если удовлетворяет условию, то примени такое-то свойство”:
На этом все.