CSS :: Псевдокласс :nth-of-type
Псевдокласс :nth-of-type (от англ. nth of type – n-й указанного типа) позволяет выбрать все дочерние элементы требуемого типа без учета (подсчета) любых других дочерних элементов, у которых порядковый номер следования внутри родительского элемента соответствует значению, указанному в селекторе. В скобках могут быть указаны значения:
-
odd – выбираются дочерние элементы только требуемого типа с нечетными порядковыми номерами
относительно своего родителя без учета (подсчета) любых других дочерних элементов. Например, если задано правило
span:nth-of-type(odd) {блок объявлений}
, то в документе будут выбраны все дочерние элементы «span», которые имеют нечетные порядковые номера (1, 3, 5 и т.д.) относительно своего родительского элемента. При этом в подсчете будут участвовать только элементы «span», а элементы любого другого типа будут пропускаться. -
even – выбираются дочерние элементы только требуемого типа с четными порядковыми номерами
относительно своего родителя без учета (подсчета) любых других дочерних элементов. Например, если задано правило
span:nth-of-type(even) {блок объявлений}
, то в документе будут выбраны все дочерние элементы «span», которые имеют четные порядковые номера (2, 4, 6 и т.д.) относительно своего родительского элемента. При этом в подсчете будут участвовать только элементы «span», а элементы любого другого типа будут пропускаться. -
n – выбираются дочерние элементы только требуемого типа с указанным порядковым номером
n относительно своего родителя без учета (подсчета) любых других дочерних элементов, при чем нумерация
начинается с единицы. Например, если задано правило
span:nth-of-type(3) {блок объявлений}
, то в документе будут выбраны все дочерние элементы «span», которые имеют порядковый номер 3 относительно своего родительского элемента. При этом в подсчете будут участвовать только элементы «span», а элементы любого другого типа будут пропускаться. -
an+b – выбираются дочерние элементы только требуемого типа и без учета (подсчета) любых других дочерних
элементов, порядковый номер которых относительно своего родителя вычисляется по формуле an+b, где
a и b – целые числа, задаваемые в качестве значений,
а n – счетчик, который автоматически принимает значения 0,
1, 2 и т.д. Например, если задано правило
span:nth-of-type(3n+4) {блок объявлений}
, то в документе будут выбраны все дочерние элементы «span», которые имеют порядковые номера 4, 7, 10 и т.д. относительно своего родительского элемента. При этом в подсчете будут участвовать только элементы «span», а элементы любого другого типа будут пропускаться.
Селектор псевдоклассов напоминает селектор классов, но в отличие от классов, псевдоклассы в разметке html-документа не указываются и отделяются от указанного в селекторе элемента двоеточием «:». При этом выбираются элементы необходимого типа, которые соответствуют требованиям указанного в селекторе псевдокласса.
Синтаксис
<селектор>:nth-of-type(<значение>) {блок объявлений}
Ссылки
Официальный сайт W3C: https://www.w3.org/TR/selectors-4/#the-nth-of-type-pseudo
Статья на Mozilla Firefox: https://developer.mozilla.org/ru/docs/Web/CSS/:nth-of-type
Примеры
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Пример №1</title> <style> /* Выбираем дочерние по отношению к своему родителю (в данном */ /* случае к элементу «p») элементы «span» с нечетными */ /* порядковыми номерами 1, 3, 5 и т.д., но при этом */ /* !!! не считаем остальные дочерние элементы !!! */ span:nth-of-type(2n+1){ color: orange; } </style> </head> <body> <p> <!-- !!! Элементы «br» и «b» не считаем !!! --> <span>1 дочерний элемент «span».</span><br> <b>Меня не считаем, т.к. я не «span»!</b><br> <span>2 дочерний элемент «span».</span><br> <span>3 дочерний элемент «span».</span> </p> </body> </html>
Пример №1