Товаров: 0 (0р.)

Css каждый третий элемент: CSS nth-child: каждый 3-й элемент, начиная с 4-го

Содержание

CSS nth-child: каждый 3-й элемент, начиная с 4-го



Я пытаюсь выбрать каждый 3-й тег section , но начинаю с четвертого. Таким образом, жирные элементы ниже будут указывать на те, которые я хотел бы выбрать:

  1. раздел
  2. раздел
  3. раздел
  4. раздел
  5. раздел
  6. раздел
  7. раздел
  8. раздел
  9. раздел

Я попробовал следующий код, но он, похоже, не работает

section:nth-child(3n+1)
html css
Поделиться Источник pealo86     27 октября 2017 в 10:45

3 ответа


  • выберите каждый 6-й элемент, начиная с 8-го элемента в списке

    Я создал список, в котором хочу выбрать каждый 6-й элемент, начиная с 8-го. Возможно ли использовать nth-child , есть ли какой-нибудь хак для этого, используя только css?

  • каждый 4-й Ли, но начиная с определенного числа

    я пытаюсь поставить границу для конкретного li в моем html. Я хочу, чтобы граница применялась начиная с n-го ребенка(9), а затем после каждого 4-го ли. например, чтобы прояснить это, я хочу, чтобы 9,13,17,21,25 … имели белые границы, а остальные-нет. я попробовал это в css году: container ul li…



8

Если вы хотите начать с 4-го элемента, используйте +4 , а не +1

section:nth-child(3n+4) {
  color: red;
}
<section>Section</section>
<section>Section</section>
<section>Section</section>
<section>Section</section>
<section>Section</section>
<section>Section</section>
<section>Section</section>
<section>Section</section>
<section>Section</section>
<section>Section</section>
<section>Section</section>
<section>Section</section>
<section>Section</section>

Поделиться Turnip     27 октября 2017 в 10:50



3

Все, что вам нужно сделать, это :

section:nth-child (3n+4) вместо section:nth-child(3n+1)

Вот jsfiddle

Поделиться Aaqib     27 октября 2017 в 10:55


Поделиться dominik791     27 октября 2017 в 10:57


Похожие вопросы:


выбор элемента 7n, включая первый элемент с css nth-child

с css: N-й дочерний псевдоселектор. как выбрать каждый элемент 7n, включая первый (то есть элемент с индексом 0). Например: 1.highlight меня 2 3 4 5 6 7.highlight меня 8 9 10 11 12 13 14.highlight…


Выберите каждый нечетный элемент, начиная с 5-го места

Если бы я хотел выбрать каждый 4-й элемент, начиная с 5-го места, я бы так и сделал: .elem:nth-child(4n+5) { //something } Но как это сделать для каждого нечетного элемента, начиная с 5-го места?…


Каков эффективный способ выбрать каждый 6-й и 7-й элемент с помощью css nth-child

Я использую селектор css nth-child, чтобы попытаться добавить поле 20px к каждому 6-му AND-му элементу в неупорядоченном списке. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 X X X X X X…


выберите каждый 6-й элемент, начиная с 8-го элемента в списке

Я создал список, в котором хочу выбрать каждый 6-й элемент, начиная с 8-го. Возможно ли использовать nth-child , есть ли какой-нибудь хак для этого, используя только css?


каждый 4-й Ли, но начиная с определенного числа

я пытаюсь поставить границу для конкретного li в моем html. Я хочу, чтобы граница применялась начиная с n-го ребенка(9), а затем после каждого 4-го ли. например, чтобы прояснить это, я хочу, чтобы…


CSS N-й ребенок: каждый 4-й, 11-й, 18-й и т. д.

У меня есть следующая div HTML-структура: один один один б б б б один один один б б б б и т.д. Итак, после 3 раз а наступает 4 раза б. Я хочу захватить каждый B-элемент с помощью селектора css n-го…


Укладка каждого 3 — го и 4-го пункта

У меня есть массив предметов, которые должны отображаться в виде карточек. Каждый 3 — й и 4 — й пункт должен быть шире остальных (узор: узкий — узкий — широкий — широкий — узкий — узкий- широкий -…


Как я могу выбрать каждый 2-й div, начиная с 3-го?

Я пытаюсь понять , как я могу выбрать каждый 2-й тег div, начиная с 3-го div в CSS . див. див. див. див. див. див. див. див. див. Любая помощь будет хороша


Выберите каждый четный элемент после 4

Мне интересно, можно ли выбрать каждый четный элемент после 4-го элемента с помощью селектора CSS nth-child. Ниже приведено то, что у меня есть до сих пор? Есть идеи СКС .project{ @include…


:nth-child() цельтесь в каждый третий предмет

Я пытаюсь настроить таргетинг на каждый 1-й, 2-й и 3-й .pricing-example на странице, чтобы применить к каждому из них другой цвет фона. Однако, используя приведенный ниже код, когда на странице…

:nth-child() | WebReference

Псевдокласс :nth-child() позволяет выбрать элементы на основе их положения в группе братских элементов. В общем виде этот псевдокласс записывается следующим образом.

:nth-child(an ± b) { … }

Вместо a и b подставляются конкретные целые числа, а n является счётчиком и остаётся в исходном виде. Числа a

и b могут быть отрицательными или нулём, в таком случае их можно не записывать — 2n+0 идентично 2n.

Формулу an+b следует понимать так: выбрать каждый a элемент, начиная с b. К примеру, 2n+3 означает выбрать каждый второй элемент, начиная с третьего. Вместо n браузер самостоятельно подставляет числа, начиная с 0. Поэтому мы можем определить какие элементы будут выбраны, самостоятельно заменяя n числами 0, 1, 2 и т. д. Таким образом, сперва выберется третий элемент (2×0+3=3), затем пятый (2×1+3=5), седьмой (2×2+3=7) и так до самого конца. Элементы с нулевым или отрицательным индексом игнорируются, поскольку таких элементов не существует.

Счётчик n начинается с 0.

Приведём несколько типовых комбинаций.

:nth-child(3)

Выбрать только третий элемент.

:nth-child(1)

Выбрать первый элемент. Идентично использованию :first-child.

:nth-child(n+3)

Выбрать все элементы, начиная с третьего; другими словами, все элементы, кроме первых двух.

:nth-child(2n)

Выбрать все чётные элементы. Вместо 2n можно использовать ключевое слово even — :nth-child(even).

:nth-child(2n+1)

Выбрать все нечётные элементы. Вместо формулы можно использовать ключевое слово odd — :nth-child(odd).

:nth-child(-n+3)

Выбрать только первые три элемента.

:nth-child(3n)

Выбрать каждый третий элемент.

:nth-child(3n+2)

Выбрать каждый третий элемент, начиная со второго.

:nth-child(n+2):nth-child(-n+4)

Выбрать все элементы со второго по четвёртый.

В примере 1 показано выделение чётных колонок таблицы другим цветом. Такое чередование цветных полос облегчает восприятие таблицы и позволяет проще находить данные, расположенные в одной колонке.

Пример 1. Колонки таблицы

<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>:nth-child()</title> <style> table { width: 100%; } th, td { padding: 4px; } td:nth-child(even) { background: #c7c7c7; /* Цвет фона чётных ячеек */ } td:nth-child(odd) { background: #f0f0f0; /* Цвет фона нечётных ячеек */ } </style> </head> <body> <table> <thead> <tr> <th></th> <th>2023</th><th>2024</th><th>2025</th> </tr> </thead> <tbody> <tr> <td>Heфть</td> <td>43</td><td>51</td><td>79</td> </tr> <tr> <td>3oлoтo</td> <td>29</td><td>34</td><td>48</td> </tr> <tr> <td>Дерево</td> <td>38</td><td>57</td><td>36</td> </tr> </tbody> </table> </body> </html>

Результат данного примера показан на рис. 1.

Рис. 1. Колонки таблицы

Следует помнить, что :nth-child() работает только для однотипных братских элементов, вроде <li>, <td>, <tr> и др. В нижеприведённом примере братскими (имеющими общего родителя) являются элементы <li>. При этом элементы <a> не являются братскими, так как у каждого из них собственный родитель.

<ul>
  <li><a>Ссылка</a></li>
  <li><a>Ссылка</a></li>
  <li><a>Ссылка</a></li>
</ul>

В итоге селектор a:nth-child(2) для выбора второй ссылки не работает. Чтобы до неё добраться следует воспользоваться комбинированными селекторами. Обращаемся ко второму пункту списка <li>, а уже затем к ссылке <a>.

li:nth-child(2) > a { color: green; }

Автор и редакторы

Автор: Влад Мержевич

Последнее изменение: 12.03.2020

Редакторы: Влад Мержевич

CSS. Как выбрать каждый первый, второй, третий и.т.д. элементы списка, таблицы, блока.

Иногда, при работе с CSS нужно выбрать какой-то определенный по счету элемент, например, в списке, таблице и.т.д. Либо нужно выбрать каждый второй, третий и.т.д. элементы. 

Давайте рассмотрим способ, как это можно сделать с помощью CSS и псевдокласса nth-child.

Все мои уроки по CSS (каскадным таблицам стилей) здесь.

Для примера возьмем немаркированный список:

<ul>
            <li>Элемент 1</li>
            <li>Элемент 2</li>
            <li>Элемент 3</li>
            <li>Элемент 4</li>
            <li>Элемент 5</li>
            <li>Элемент 6</li>
            <li>Элемент 7</li>
            <li>Элемент 8</li>
            <li>Элемент 9</li>
            <li>Элемент 10</li>
</ul>

Давайте выделим красным цветом, например, пятый по счету элемент li. Для этого воспользуемся псевдоклассом CSS nth-child

ul li:nth-child(5) {color:#F00;}

Для того, чтобы выбрать 5 элемент, в качестве параметра для псевдокласса nth-child, нужно указать цифру 5. Все просто. Цифра 5 это позиция элемента, по порядку, в котором он находится в коде.

Вот какой результат получился.

Вместо цифры «5» можно указывать любое другое число, в зависимости от того элемента, который вы хотите выбрать.

Например, для того, чтобы выбрать каждый второй элемент с помощью CSS, необходимо написать:

ul li:nth-child(2) {color:#F00;}

Что делать, если нужно выбрать каждый второй элемент с помощью CSS, а не только второй. Как быть в этом случае?

Используйте следуйющий код:

ul li:nth-child(2n) {color:#F00;}

По сути, добавляем символ «n» к цифре.

Аналогичным образом можно выбирать любые другие элементы, в зависимости от их расположения в дереве (структуре) документа.

Все мои уроки по CSS (каскадным таблицам стилей) здесь.

Как работает CSS-селектор nth-child | CSS-Tricks по-русски

Как работает CSS-селектор nth-child

В CSS существует селектор, если быть более точным, псевдо-селектор, называемый nth-child. Пример его использования:


ul li:nth-child(3n+3) {
	color: #ccc;
}

Вышеприведённый CSS делает следующее: применяет стиля для каждого третьего элемента ненумерованного списка. А именно 3-го, 6-го, 9-го, 12-го и т.д. Но как это работает? А также какую выгоду можно извлечь используя nth-child?

Основной смысл заключается в выражении в скобках. nth-child принимает два ключевых слова: even (чётный) и odd (нечётный). Смысл их абсолютно ясен. Even выбирает чётные элементы (2, 4, 6), odd — нечётные (1, 3, 5).

Как показано в примере выше, nth-child может обрабатывать выражения. Какое самое простое возможное выражение? Просто число. Если вы напишите какое-нибудь число в скобках, то будет выбран один единственный элемент. Например, выберем пятый элемент списка:


ul li:nth-child(5) {
	color : #ccc;
}

Вернёмся к нашему первому примеру, в котором мы использовали выражение (3n+3). Как он работает? Почему он выбирает каждый третий элемент? Вся суть в переменной n. Она принимает целые значения от нуля и больше. Давайте рассмотрим подробнее:


(3 x 0) + 3 = 3 = 3-ий элемент
(3 x 1) + 3 = 6 = 6-ой элемент
(3 x 2) + 3 = 9 = 9-ый элемент
и т.д.

Теперь попробуем следующее выражение: nth-child(2n+1):


(2 x 0) + 1 = 1 = 1-ый элемент
(2 x 1) + 1 = 3 = 3-ий элемент
(2 x 2) + 1 = 5 = 5-ый элемент
и т.д.

В итоге получили тоже самое что и в случае с odd, таким образом нет нужды часто использовать такое выражение. Более того, наш первый пример тоже можно упростить и использовать вместо оригинального выражения (3n+3), выражение (3n):


(3 x 0) + 0 = 0 = нет соответствия
(3 x 1) + 0 = 3 = 3-ий элемент
(3 x 2) + 0 = 6 = 6-ой элемент
и т.д.

Как видите, результат тот же, но не надо писать «+3». Также мы можем использовать отрицательные значения в выражении. Например, 4n-1:


(4 x 0) - 1 = -1 = нет соответствия
(4 x 1) - 1 = 3 = 3-ий элемент
(4 x 2) - 1 = 7 = 7-ой элемент
и т.д.

Использование отрицательных значений для коэффициента при n, выглядит слегка странно, потому что в случае отрицательного результата не будет найдено соответствие. Вам надо будет постоянно изменять выражение, чтобы добавить положительных элементов. Как оказалось, этот подход очень удобен для выбора первых n элементов. Рассмотрим пример с «-n+3»:


-0 + 3 = 3 = 3ий элемент
-1 + 3 = 2 = 2-ой элемент
-2 + 3 = 1 = 1-ый элемент
-3 + 3 = 0 = нет соответствия

Кроссбраузерность

nth-child является одним из тех самых несчастных атрибутов, которые являются полностью кроссбраузерными, за исключением абсолютного нуля в IE, даже 8-ой версии. Поэтому, когда речь заходит о его использовании, то если ожидаемый результат — это в некотором роде визуальный эффект (например раскраска строк некой таблицы), то это идеальный подход. Но, вероятно, не стоит использовать его для чего-то более важного, что может повлиять, например, на корректность вёрстки.

Конечно, если вы используете jQuery, то вам не стоит переживать по этому поводу, так как jQuery работает даже в Internet Explorer.

Ну и напоследок

Вы можете поиграть с различными выражениями для селектора на страничке с примером.

Знакомство с nth-child

Перевод статьи: How nth-child Works.
Автор: Chris Coyier.

В данной статье мы подробно рассмотрим принцип действия CSS селектора, а точнее псевдо-селектора по имени nth-child. Вот пример его использования:

ul li:nth-child(3n+3) {
color: #ccc;
}

Все, что делает данный CSS код – выбирает каждый третий элемент <li> внутри неупорядоченного списка. Это третий, шестой, девятый, двенадцатый и т.д. элементы. Но каким образом это работает и что еще полезного можно извлечь из использования псевдо-элемента :nth-child() на практике? Давайте разбираться.

Суть вопроса заключается в том, что находится между этими скобками. В качестве аргументов псевдо-селектор :nth-child допускает применение ключевых слов even и odd. Я думаю, что здесь все очевидно — even выбирает четные элементы, такие как второй, четвертый, шестой и т.д., а odd соответствует нечетным элементам, таким как первый, третий, пятый и т.д.

Но как видно из первого примера, данный псевдо-селектор допускает использование и алгебраических выражений в качестве аргумента. Самым простым вариантом такого выражения является обычное число. Если вы используете просто число, то данный селектор будет соответствовать лишь единственному совпадающему по счету элементу в указанном списке. Вот пример выбора пятого элемента из всех имеющихся:

ul li:nth-child(5) {
color: #ccc;
}

А теперь давайте вернемся к примеру, приведенному в начале статьи, когда в качестве параметра указывается выражение 3n+3. Как же вычисляется необходимое значение? И почему выбирается каждый третий элемент в этом случае? Смысл заключается в вычислении значения представленного в скобках псевдо-селектора алгебраического выражения при определенных значениях переменной n, которая принимает значения положительных целых чисел, начиная с нуля. (.) Если выполнить несколько первых подстановок, то получим следующее:

(3 x 0) + 3 = 3 (третий элемент)
(3 x 1) + 3 = 6 (шестой элемент)
(3 x 2) + 3 = 9 (девятый элемент)
и так далее.

Давайте возьмем еще один пример :nth-child(2n+1):

(2 x 0) + 1 = 1 (первый элемент)
(2 x 1) + 1 = 3 (третий элемент)
(2 x 2) + 1 = 5 (пятый элемент)
и так далее.

Если хорошо присмотреться, то последний пример дает тот же результат, что и ключевое слово odd, что позволяет заменять его при необходимости этим выражением. К тому же, на первый взгляд может показаться, что наш первый пример, использующий аргумент 3n+3, слишком усложнен и для достижения того же эффекта можно его упростить подставив вот это выражение — 3n+0 или и того проще 3n. Давайте проверим:

(3 x 0) = 0 (совпадений нет)
(3 x 1) = 3 (третий элемент)
(3 x 2) = 6 (шестой элемент)
(3 x 3) = 9 (девятый элемент)
и так далее.

Как видно из примера, результат тот же, что и в начальном примере, поэтому для выбора каждого третьего элемента будет вполне достаточно упрощенного варианта выражения.

К тому же, мы можем использовать отрицательные значения для переменной n, а также применять другие арифметические операции, кроме сложения, к примеру, вычитание. Давайте рассмотрим пример 4n-1:

(4 x 0) – 1 = -1 (совпадений нет)
(4 x 1) -1 = 3 (третий элемент)
(4 x 2) -1 = 7 (седьмой элемент)
и так далее.

Использование отрицательных значений переменной n кажется несколько странным, так как если выражение в результате дает отрицательное значение, то совпадений указанному селектору найдено не будет. Поэтому, если в этом есть необходимость, то вы должны использовать в выражении достаточно большое положительное число, чтобы в результате вычисления выражения получить желаемый эффект. Таким способом можно выбрать несколько элементов начиная с первого и до определенного значения. К примеру, если использовать выражение -n+3, то можно отобрать первые три элемента из указанного набора:

-0 + 3 = 3 (третий элемент)
-1 + 3 = 2 (второй)
-2 + 3 = 1 (первый)
-3 +3 = 0 (совпадений не найдено)
и т. д.

На ресурсе Sitepoint.com можно найти очень удобную таблицу, предназначенную для работы с псевдо-классом :nth-child, которая приведена ниже.

Поддержка браузерами.

Рассматриваемый в статье псевдо-класс :nth-child является ярким представителем тех CSS классов, которые хотя и поддерживаются большинством известных браузеров, но в тоже время не поддерживаются IE, включая восьмую его версию. Поэтому для принятия окончательного решения, касательно целесообразности использования :nth-child в рамках своего проекта, нужно учитывать важность конечного результата. К примеру, если вы собираетесь применить этот псевдо-класс для визуального форматирования отдельных элементов таблицы (строк или полей), что определяется дизайном страницы, то это, конечно же, допустимо и не приведет к каким-либо катастрофическим последствиям. Но в том случае, если вы планируете использовать этот псевдо-класс для формирования общей структуры сайта, то этого делать не стоит. В качестве примера можно взять ситуацию, когда при помощи :nth-child вы убираете правый отступ у каждого третьего крайнего блока, входящего в блочную структуру страницы для их правильного внутреннего позиционирования. В этом случае, лучше использовать более универсальный способ отбора необходимых элементов – библиотеку jQuery, которая поддерживает все, входящие в CSS спецификацию селекторы, включая :nth-child. Более того, это обеспечит нормальную работу данного селектора даже в IE.

Все еще не можете понять принцип?

Как бы доступно и широко не рассматривался вопрос в статье, визуальный метод представления затрагиваемой темы очень трудно переоценить. Особенно полезным этот способ является при освоении вопросов, подобных нашему. Именно с целью наглядного представления рассматриваемого в статье материала, была разработана вот эта страница, на которой вы сможете самостоятельно поэкспериментировать с выражениями, используемыми в качестве аргументов для псевдо-класса :nth-child, что поможет вам быстрее и глубже понять принцип его использования на практике.

Post Views: 678

css каждый второй элемент — ComputerMaker.info

Автор admin На чтение 6 мин.

Nth-child и nth-of-type

:nth-child — один из моих самых любимых селекторов, потому что с помощью него можно делать клевые разноцветные штуки собирать элементы списка в группы произвольной длины и делать с ними разные интересные вещи: от полосатых таблиц до целых разноцветных дизайнов, и все это без необходимости задавать дополнительные классы или как-то менять разметку.

Вот простой пример полосатых таблиц:

See the Pen IfaoC by yoksel (@yoksel) on CodePen.

Полоски помогают легче скользить глазами по длинной строке или столбцу, это увеличивает читабельность больших таблиц, а сделать это можно всего лишь парой строчек в CSS:

Или вот что можно сделать с обычным списком вроде такого:

Никаких дополнительных классов, все сделано только с помощью :nth-child :

Вот пример разноцветного дизайна для ЖЖ, где используется этот же эффект:

Если у вас есть ЖЖ, вы можете установить этот дизайн из каталога.

Как работает nth-child()?

В круглых скобках задается размер цикла: например (3n) выберет каждый третий элемент. Также можно задать сдвиг вперед или назад: (3n+1) — найдет каждый третий и сделает один шаг вперед, а (3n-2) — два шага назад от найденого. Если размер цикла не задан — (n) — выберутся все элементы списка. Если размер цикла не задан, но задано конкретное число — (5) — выберется элемент списка с этим индексом.

nth-child в своем цикле считает все элементы, находящиеся на одном уровне вложенности относительно родительского элемента.

Селектор работает во всех современных браузерах с поддержкой CSS3.

Примеры
:nth-child(3n)

Выбирает каждый 3-й элемент списка.

:nth-child(3n+1)

Выбирает каждый 3-й элемент списка и делает сдвиг на один шаг вперед. Таким образом можно выбрать первые элементы в каждой группе.

:nth-child(even) = :nth-child(2n)

(even) — ключевое слово, выбирает четные элементы списка, как если бы мы задали (2n) .

:nth-child(odd) = :nth-child(2n+1)

(odd) — ключевое слово, выбирает нечетные элементы, как если бы мы задали (2n+1) .

:nth-child(3n-1) = :nth-child(3n+2)

Выбирает каждый 3-й элемент списка и делает сдвиг на один шаг назад.

:nth-child(5) = :nth-child(0n+5)

Выберет 5-й элемент списка.

:nth-child(n+6)

Выберет все элементы начиная с 6-го.

:nth-child(-n+6)

Выберет 6 элементов с начала списка.

Сочетания селекторов
:nth-child(n+3):nth-child(-n+8)

Выберет элементы в диапазоне от 3 до 8-ми.

:nth-child(n+4):nth-child(even)

Выберет элементы начиная с 4-го, а потом выделит только четные из них.

:nth-child(3n+1):nth-child(even)

Выберет 1-й, 4-й, 7-й и 10-й элементы, а затем только четные из них.

:nth-child(n+3):nth-child(-n+8):nth-child(even)

Выберет элементы с 3-го по 8-й, а затем только четные из них.

Все примеры выше сделаны на основе однородного списка, но что если нам требуется выбрать, например, несколько абзацев в статье, которая содержит не только абзацы, но и заголовки?

Предположим, мы хотим покрасить нечетные абзацы, поэтому напишем что-то вроде:

но результат будет каким-то странным (слева), и если попробовать написать то же самое, но без тега (справа) — сразу становится ясно почему:

See the Pen itagK by yoksel (@yoksel) on CodePen.

:nth-child считает все элементы, не обращая внимания на тег, хотя показывает только те, что соответствуют заданному тегу или классу.

Чтобы выбрать только абзацы, нам потребуется другой селектор — :nth-of-type :

See the Pen jAxuF by yoksel (@yoksel) on CodePen.

:nth-of-type работает также, как :nth-child , но считает только элементы заданного типа.

:nth-child удобно использовать в сочетании с Sass:

С помощью :nth-child одинаковым элементам списка заданы разноцветные рамки и разные фоновые картинки.

Используя широкие возможности этих технологий можно делать не только забавные галереи с котятами, но и прочие нарядные штуки разной степени бесполезности (нажмите Rerun, если анимация застыла):

Здесь с помощью :nth-child элементам списка помимо разноцветных градиентов задаются также задержки воспроизведения анимации, из-за чего фигуры движутся не все вместе, а волнами.

:nth-child — очень полезный селектор, который поможет добавить разнообразия однотипным элементам сайта и тем самым без особых усилий сделает страницу интереснее для визуального восприятия.

Иногда, при работе с CSS нужно выбрать какой-то определенный по счету элемент, например, в списке, таблице и.т.д. Либо нужно выбрать каждый второй, третий и.т.д. элементы. Давайте рассмотрим способ, как это можно сделать с помощью CSS и псевдокласса nth-child.

Для примера возьмем немаркированный список:

Давайте выделим красным цветом, например, пятый по счету элемент li. Для этого воспользуемся псевдоклассом CSS nth-child

Для того, чтобы выбрать 5 элемент, в качестве параметра для псевдокласса nth-child, нужно указать цифру 5. Все просто. Цифра 5 это позиция элемента, по порядку, в котором он находится в коде.

Вот какой результат получился.

Вместо цифры «5» можно указывать любое другое число, в зависимости от того элемента, который вы хотите выбрать.

Например, для того, чтобы выбрать каждый второй элемент с помощью CSS, необходимо написать:

Что делать, если нужно выбрать каждый второй элемент с помощью CSS, а не только второй. Как быть в этом случае?

Используйте следуйющий код:

По сути, добавляем символ «n» к цифре.

Аналогичным образом можно выбирать любые другие элементы, в зависимости от их расположения в дереве (структуре) документа.

Internet ExplorerChromeOperaSafariFirefoxAndroidiOS
9.0+1.0+9.6+3.1+3.6+2.1+2.0+

Краткая информация

Значение по умолчаниюНет
ПрименяетсяКо всем элементам
Ссылка на спецификациюhttp://www.w3.org/TR/css3-selectors/#nth-child-pseudo

Версии CSS

CSS 1CSS 2CSS 2.1CSS 3

Описание

Псевдокласс :nth-child используется для добавления стиля к элементам на основе нумерации в дереве элементов.

Синтаксис

Значения

Если a равно нулю, то оно не пишется и запись сокращается до b . Если b равно нулю, то оно также не указывается и выражение записывается в форме an . a и b могут быть отрицательными числами, в этом случае знак плюс меняется на минус, например: 5n-1.

За счет использования отрицательных значений a и b некоторые результаты могут также получиться отрицательными или равными нулю. Однако на элементы оказывают влияние только положительные значения из-за того, что нумерация элементов начинается с 1.

В табл. 1 приведены некоторые возможные выражения и ключевые слова, а также указано, какие номера элементов будут задействованы.

Табл. 1. Результат для различных значений псевдокласса
ЗначениеНомера элементовОписание
11Первый элемент, является синонимом псевдокласса :first-child .
55Пятый элемент.
2n2, 4, 6, 8, 10Все четные элементы, аналог значения even .
2n+11, 3, 5, 7, 9Все нечетные элементы, аналог значения odd .
3n+22, 5, 8, 11, 14
-n+33, 2, 1
5n-23, 8, 13, 18, 23
even2, 4, 6, 8, 10Все четные элементы.
odd1, 3, 5, 7, 9Все нечетные элементы.

HTML5 CSS3 IE Cr Op Sa Fx

В данном примере псевдокласс :nth-child используется для изменения стиля первой строки таблицы, а также для выделения цветом всех четных строк (рис. 1).

Рис. 1. Применение псевдокласса :nth-child к строкам таблицы

Css четный нечетный элемент. Как выбрать в css первый элемент родителя. Использование псевдокласса CSS:nth-last-child для выбора предпоследнего элемента

В CSS существует селектор, если быть более точным, псевдо-селектор, называемый nth-child. Пример его использования:

Ul li:nth-child(3n+3) { color: #ccc; }

Вышеприведённый CSS делает следующее: применяет стиля для каждого третьего элемента ненумерованного списка. А именно 3-го, 6-го, 9-го, 12-го и т.д. Но как это работает? А также какую выгоду можно извлечь используя nth-child ?

Основной смысл заключается в выражении в скобках. nth-child принимает два ключевых слова: even (чётный) и odd (нечётный). Смысл их абсолютно ясен. Even выбирает чётные элементы (2, 4, 6), odd — нечётные (1, 3, 5).

Как показано в примере выше, nth-child может обрабатывать выражения. Какое самое простое возможное выражение? Просто число. Если вы напишите какое-нибудь число в скобках, то будет выбран один единственный элемент. Например, выберем пятый элемент списка:

Ul li:nth-child(5) { color: #ccc; }

Вернёмся к нашему первому примеру, в котором мы использовали выражение (3n+3). Как он работает? Почему он выбирает каждый третий элемент? Вся суть в переменной n. Она принимает целые значения от нуля и больше. Давайте рассмотрим подробнее:

(3 x 0) + 3 = 3 = 3-ий элемент (3 x 1) + 3 = 6 = 6-ой элемент (3 x 2) + 3 = 9 = 9-ый элемент и т.д.

Теперь попробуем следующее выражение: nth-child(2n+1) :

(2 x 0) + 1 = 1 = 1-ый элемент (2 x 1) + 1 = 3 = 3-ий элемент (2 x 2) + 1 = 5 = 5-ый элемент и т.д.

В итоге получили тоже самое что и в случае с odd , таким образом нет нужды часто использовать такое выражение. Более того, наш первый пример тоже можно упростить и использовать вместо оригинального выражения (3n+3), выражение (3n):

(3 x 0) + 0 = 0 = нет соответствия (3 x 1) + 0 = 3 = 3-ий элемент (3 x 2) + 0 = 6 = 6-ой элемент и т.д.

Как видите, результат тот же, но не надо писать «+3». Также мы можем использовать отрицательные значения в выражении. Например, 4n-1:

(4 x 0) — 1 = -1 = нет соответствия (4 x 1) — 1 = 3 = 3-ий элемент (4 x 2) — 1 = 7 = 7-ой элемент и т.д.

Использование отрицательных значений для коэффициента при n, выглядит слегка странно, потому что в случае отрицательного результата не будет найдено соответствие. Вам надо будет постоянно изменять выражение, чтобы добавить положительных элементов. Как оказалось, этот подход очень удобен для выбора первых n элементов. Рассмотрим пример с «-n+3»:

0 + 3 = 3 = 3ий элемент -1 + 3 = 2 = 2-ой элемент -2 + 3 = 1 = 1-ый элемент -3 + 3 = 0 = нет соответствия

Кроссбраузерность

nth-child является одним из тех самых несчастных атрибутов, которые являются полностью кроссбраузерными, за исключением абсолютного нуля в IE, даже 8-ой версии. Поэтому, когда речь заходит о его использовании, то если ожидаемый результат — это в некотором роде визуальный эффект (например раскраска строк некой таблицы), то это идеальный подход. Но, вероятно, не стоит использовать его для чего-то более важного, что может повлиять, например, на корректность вёрстки.

Конечно, если вы используете jQuery, то вам не стоит переживать по этому поводу, так как jQuery работает даже в Internet Explorer.

Ну и напоследок

Вы можете поиграть с различными выражениями для селектора на

Существует такой селектор, точнее псевдокласс, называемый:nth-child . Вот пример его использования:

UL LI:nth-child(3n+3) { color:#CCC; }

Что делает CSS-код, приведенный выше? Он выбирает каждый третий элемент внутри маркированного списка: это 3-й, 6-й, 9-й, 12-й и т.д. Давайте посмотрим, как именно работает это выражение и что еще можно сделать с помощью:nth-child .

Всё зависит от того, что находится между скобками. Селектор:nth-child принимает два ключевых слова: even и odd . Тут всё просто: even выбирает чётные элементы, такие как 2-ой, 4-ый, 6-ой и т.д., а odd выбирает нечётные элементы, такие как 1-й, 3-й, 5-й и т.д.

Как видно из первого примера, :nth-child также принимает в качестве параметра выражения. В том числе и простейшие уравнения, иначе говоря, просто числа. Если поставить их в скобки, будет выбран только один элемент с соответствующим номером. Например, вот как выбрать только пятый элемент:

UL LI:nth-child(5) { color:#CCC; }

Однако давайте вернемся к 3n+3 из первого примера. Как он работает и почему выбирается каждый третий элемент? Весь фокус в понимании переменной n и приведенного алгебраического уравнения. Подумайте об n , как о начинающемся с нуля множестве целых чисел. Потом дополните уравнение. Так 3n это 3×n , а все уравнение вместе это (3×n)+3 . Теперь, подставляя вместо n числа больше или равные нулю, мы получим:

  • (3 × 0) + 3 = 3 = 3-й элемент
  • (3 × 1) + 3 = 6 = 6-й элемент
  • (3 × 2) + 3 = 9 = 9-й элемент и т.д.

А как насчёт:nth-child(2n+1) ?

  • (2 × 0) + 1 = 1 = 1-й элемент
  • (2 × 1) + 1 = 3 = 3-й элемент
  • (2 × 2) + 1 = 5 = 5-й элемент и т.д.

Так, стоп! Это ведь то же самое, что и odd . Тогда, возможно, не стоит использовать это выражение? Но разве в этом случае мы не подвергаем наш первый пример излишнему усложнению? Что, если вместо 3n+3 мы запишем 3n+0 или ещё проще 3n ?

  • (3 × 0) = 0 = ничего нет
  • (3 × 1) = 3 = 3-й элемент
  • (3 × 2) = 6 = 6-й элемент
  • (3 × 3) = 9 = 9-й элемент и т.д.

Итак, как вы можете видеть, результат получится такой же, а значит, нет необходимости в +3 . Мы можем использовать и отрицательные значения n , с таким же успехом, как и вычитание в уравнениях. Например, 4n-1:

  • (4 × 0) – 1 = –1 = ничего нет
  • (4 × 1) – 1 = 3 = 3-й элемент
  • (4 × 2) – 1 = 7 = 7-й элемент и т.д.

Использование -n может показаться странным — ведь если конечный результат отрицательный, то никакие элементы в выборку не попадут. Но если дополнить уравнение и снова сделать результат положительным, то выборка окажется довольно интересной: при помощи неё можно будет получить первые n элементов, например так: -n+3:

  • –0 + 3 = 3 = 3-й элемент
  • –1 + 3 = 2 = 2-й элемент
  • –2 + 3 = 1 = 1-й элемент
  • –3 + 3 = 0 = ничего нет и т.д.

На SitePoint есть хороший справочник с милой табличкой , которую я бесстыдно опубликую здесь:

n2n+14n+14n+44n5n-2-n+3
01143
1358432
25912881
3713161213
4917201618
51121242023

Поддержка браузерами

Селектор:nth-child — один из немногих CSS-селекторов, который почти полностью поддерживается в современных браузерах и абсолютно не поддерживается в IE, даже в IE8. Поэтому когда дело доходит до его использования, и конечный результат сделан по технологии прогрессивного улучшения — вы можете смело использовать его для некоторых оформительских элементов, вроде расцветки строк таблицы. Однако не стоит применять его в более серьезных случаях. Например, полагаться на него в раскладке сайта или удалять правое поле из каждого третьего блока в сетке три на три, чтобы они вошли в ряд.

Псевдокласс :nth-child используется для добавления стиля к элементам на основе нумерации в дереве элементов.

Обозначения

ОписаниеПример
Указывает тип значения.
A && BЗначения должны выводиться в указанном порядке. &&
A | BУказывает, что надо выбрать только одно значение из предложенных (A или B).normal | small-caps
A || BКаждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке.width || count
Группирует значения.[ crop || cross ]
*Повторять ноль или больше раз.[,]*
+Повторять один или больше раз.+
?Указанный тип, слово или группа не является обязательным.inset?
{A, B}Повторять не менее A, но не более B раз.{1,4}
#Повторять один или больше раз через запятую.#
×

Значения

odd Все нечётные номера элементов. even Все чётные номера элементов. Порядковый номер дочернего элемента относительно своего родителя. Нумерация начинается с 1, это будет первый элемент в списке. Задаётся в виде an±b , где a и b — целые числа, а n — счётчик, который автоматически принимает значение 0, 1, 2…

Если a равно нулю, то оно не пишется и запись сокращается до b . Если b равно нулю, то оно также не указывается и выражение записывается в форме an . a и b могут быть отрицательными числами, в этом случае знак плюс меняется на минус, например: 5n-1.

За счёт использования отрицательных значений a и b некоторые результаты могут также получиться отрицательными или равными нулю. Однако на элементы оказывают влияние только положительные значения из-за того, что нумерация элементов начинается с 1.

В табл. 1 приведены некоторые возможные выражения и ключевые слова, а также указано, какие номера элементов будут задействованы.

Табл. 1. Результат для различных значений псевдокласса
ЗначениеНомера элементовОписание
11Первый элемент, является синонимом псевдокласса :first-child .
55Пятый элемент.
2n2, 4, 6, 8, 10,…Все чётные элементы, аналог значения even .
2n+11, 3, 5, 7, 9,…Все нечётные элементы, аналог значения odd .
3n3, 6, 9, 12, 15,…Каждый третий элемент.
3n+22, 5, 8, 11, 14,…Каждый третий элемент, начиная со второго.
n+44, 5, 6, 7, 8,…Все элементы, кроме первых трёх.
-n+33, 2, 1Первые три элемента.
5n-23, 8, 13, 18, 23,…
even2, 4, 6, 8, 10,…Все чётные элементы.
odd1, 3, 5, 7, 9,…Все нечётные элементы.

Допустимо комбинировать два псевдокласса :nth-child для выбора диапазона элементов. Здесь будут выбраны все элементы со второго по пятый.

:nth-child(n+2):nth-child(-n+5) { … }

Пример

nth-child
21342135213621372138
Нефть1634627457
Золото469725647
Дерево773793486
Камни23348853103

В данном примере псевдокласс :nth-child используется для изменения стиля первой строки таблицы, а также для выделения цветом всех чётных строк (рис. 1).

Рис. 1. Применение псевдокласса:nth-child к строкам таблицы

Спецификация

Каждая спецификация проходит несколько стадий одобрения.

  • Recommendation (Рекомендация ) — спецификация одобрена W3C и рекомендована как стандарт.
  • Candidate Recommendation (Возможная рекомендация ) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
  • Proposed Recommendation (Предлагаемая рекомендация ) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
  • Working Draft (Рабочий проект ) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
  • Editor»s draft (Редакторский черновик ) — черновая версия стандарта после внесения правок редакторами проекта.
  • Draft (Черновик спецификации ) — первая черновая версия стандарта.
×

Описание

Псевдокласс :nth-child используется для добавления стиля к элементам на основе нумерации в дереве элементов.

Синтаксис

элемент:nth-child(odd | even | | ) {…}

Значения

odd Все нечетные номера элементов. even Все четные номера элементов. число Порядковый номер дочернего элемента относительно своего родителя. Нумерация начинается с 1, это будет первый элемент в списке. выражение Задается в виде an+b , где a и b целые числа, а n — счетчик, который автоматически принимает значение 0, 1, 2…

Если a равно нулю, то оно не пишется и запись сокращается до b . Если b равно нулю, то оно также не указывается и выражение записывается в форме an . a и b могут быть отрицательными числами, в этом случае знак плюс меняется на минус, например: 5n-1.

За счет использования отрицательных значений a и b некоторые результаты могут также получиться отрицательными или равными нулю. Однако на элементы оказывают влияние только положительные значения из-за того, что нумерация элементов начинается с 1.

В табл. 1 приведены некоторые возможные выражения и ключевые слова, а также указано, какие номера элементов будут задействованы.

HTML5 CSS3 IE Cr Op Sa Fx

nth-child
21342135213621372138
Нефть1634627457
Золото469725647
Дерево773793486
Камни23348853103

В данном примере псевдокласс :nth-child используется для изменения стиля первой строки таблицы, а также для выделения цветом всех четных строк (рис. 1).

Описание

Псевдокласс :nth-child используется для добавления стиля к элементам на основе нумерации в дереве элементов.

Синтаксис

элемент:nth-child(odd | even | | ) {…}

Значения

odd Все нечетные номера элементов. even Все четные номера элементов. число Порядковый номер дочернего элемента относительно своего родителя. Нумерация начинается с 1, это будет первый элемент в списке. выражение Задается в виде an+b , где a и b целые числа, а n — счетчик, который автоматически принимает значение 0, 1, 2…

Если a равно нулю, то оно не пишется и запись сокращается до b . Если b равно нулю, то оно также не указывается и выражение записывается в форме an . a и b могут быть отрицательными числами, в этом случае знак плюс меняется на минус, например: 5n-1.

За счет использования отрицательных значений a и b некоторые результаты могут также получиться отрицательными или равными нулю. Однако на элементы оказывают влияние только положительные значения из-за того, что нумерация элементов начинается с 1.

В табл. 1 приведены некоторые возможные выражения и ключевые слова, а также указано, какие номера элементов будут задействованы.

HTML5 CSS3 IE Cr Op Sa Fx

nth-child
21342135213621372138
Нефть1634627457
Золото469725647
Дерево773793486
Камни23348853103

В данном примере псевдокласс :nth-child используется для изменения стиля первой строки таблицы, а также для выделения цветом всех четных строк (рис. 1).

Как работает nth-child | CSS-уловки

Есть селектор CSS, на самом деле псевдоселектор, называемый nth-child. Вот пример его использования:

  ul li: nth-child (3n + 3) {
  цвет: #ccc;
}  

Приведенный выше CSS выбирает каждый третий элемент списка внутри неупорядоченных списков. То есть 3-го, 6-го, 9-го, 12-го и т. Д. Но как это работает? А что еще можно делать с nth-child? Давайте взглянем.

Все сводится к тому, что находится между скобками.nth-child принимает в этом месте два ключевых слова: четный и нечетный . Это должно быть довольно очевидно. «Четный» выбирает элементы с четными номерами, например 2-й, 4-й, 6-й и т. Д. «Нечетный» выбирает элементы с нечетными номерами, например 1-й, 3-й, 5-й и т. Д.

Как видно из первого примера, nth-child также принимает выражений между этими скобками. Самое простое возможное выражение? Просто число. Если вы поместите просто число в круглые скобки, оно будет соответствовать только этому элементу числа.Например, вот как выбрать только 5-й элемент:

  ul li: nth-child (5) {
  цвет: #ccc;
}  

Однако вернемся к «3n + 3» из исходного примера. Как это работает? Почему выбирается каждый третий элемент? Хитрость заключается в понимании «n» и алгебраического выражения, которое представляет. Думайте о «n» как о начале с нуля, а затем о множестве всех положительных целых чисел. Затем завершите выражение. Итак, 3n — это «3xn», а все выражение вместе — «(3xn) +3».Теперь подставляя ноль и целые положительные числа, получаем:

(3 x 0) + 3 = 3 = 3-й элемент
(3 x 1) + 3 = 6 = 6-й элемент
(3 x 2) + 3 = 9 = 9-й элемент
и т. Д.

Как насчет: nth-child (2n + 1)?

(2 x 0) + 1 = 1 = 1-й элемент
(2 x 1) + 1 = 3 = 3-й элемент
(2 x 2) + 1 = 5 = 5-й элемент
и т. Д.

Эй, погоди! Это то же самое, что и «odd», поэтому, вероятно, не нужно использовать его очень часто. Но подождите сейчас. Разве мы не показали, что наш оригинальный пример слишком сложен? Что, если бы вместо «3n + 3» мы использовали «3n + 0» или даже проще «3n».

(3 x 0) = 0 = нет совпадений
(3 x 1) = 3 = 3-й элемент
(3 x 2) = 6 = 6-й элемент
(3 x 3) = 9 = 9-й элемент
и т. Д.

Итак, как видите, совпадения точно такие же, «+3» не требуется. Мы можем использовать отрицательные значения n, а также использовать вычитание в выражениях. Например, 4н-1:

(4 x 0) — 1 = -1 = нет совпадений
(4 x 1) — 1 = 3 = 3-й элемент
(4 x 2) — 1 = 7 = 7-й элемент
и т. Д.

Использование значений «-n» кажется немного странным, потому что, если конечный результат отрицательный, совпадения нет, поэтому вам нужно будет добавить к выражению, чтобы оно снова стало положительным.Как оказалось, это довольно хитрый прием. Вы можете использовать его для выбора «первых n элементов» с помощью «-n + 3»:

-0 + 3 = 3 = 3-й элемент
-1 + 3 = 2 = 2-й элемент
-2 + 3 = 1 = 1-й элемент
-3 + 3 = 0 = нет совпадений
и т. Д.

Sitepoint имеет хорошее справочное руководство, которое включает в себя этот удобный столик, который я без зазрения совести перепубликую здесь:

n 2н + 1 4н + 1 4н + 4 4n 5н-2 -н + 3
0 1 1 4 3
1 3 5 8 4 3 2
2 5 9 12 8 8 1
3 7 13 16 12 13
4 9 17 20 16 18
5 11 21 24 20 23

Совместимость с браузером

nth-child — один из тех довольно неудачных атрибутов CSS, который находится между почти полной кросс-браузерной совместимостью, за исключением полностью нулевой поддержки в IE, даже в IE 8.Поэтому, когда дело доходит до его использования, если конечный результат каким-то образом представляет собой «прогрессивное улучшение» (например, применение прохладной цветовой палитры к строкам таблицы), тогда, во что бы то ни стало, дерзайте. Но вам, вероятно, не стоит использовать его, если вы делаете что-то более важное, например, полагаетесь на него при создании структуры сайта. Например, удаление правого поля из каждого третьего блока в сетке блоков три на три, чтобы они соответствовали правильному расположению.

Одна из возможностей экономии заключается в том, что если вы используете jQuery, который поддерживает весь селектор CSS, включая: nth-child, селектор будет работать даже в Internet Explorer.

Все еще не понимаете?

Я не большой поклонник фразы «Я учусь наглядно». Конечно, все. Наглядные пособия чрезвычайно полезны в подобных ситуациях. Чтобы помочь, я собрал небольшую страницу тестера nth-child. Там вы можете ввести выражения и увидеть результаты того, что он выбирает ниже.

Также см. Эту страницу полезных рецептов nth-child для быстрого копирования и вставки кода для наиболее распространенных потребностей позиционного выбора.

html — стиль каждого третьего элемента?

Чистый CSS, без Javascript, с поддержкой IE7 / 8

Требуется изменение HTML, или…

Вы должны либо явно установить некоторый класс для элементов, которые вы хотите изменить в своем HTML, либо динамически через подсчет скриптов на стороне сервера, либо вручную путем жесткого кодирования.

Демо скрипка

HTML

  <раздел>
  

КСС

 .explicitClass {
    ваше свойство, которое нужно изменить: ваше значение, желаемое;
}
  

… Требуется расширенная разметка CSS

Или вы должны сгенерировать CSS, который громоздко «считает» за вас. Как отметил Инди в своем ответе (не уверен, почему он заявил, что соседний брат «недоступен по умолчанию в IE8 или ниже», поскольку это неверно), это можно было бы обработать с помощью препроцессора CSS, но даже тогда вы действительно не хотите пойти по этому пути, если у вас очень ограниченное количество элементов, вероятно, не больше, чем то, что вы опубликовали для своего примера.Если бы элементов были сотни, это не практично. Это решение не требует изменения вашего HTML.

ДЕМО скрипка

КСС

  раздел div: первенец,
раздел div: first-child + div + div + div,
раздел div: first-child + div + div + div + div + div + div {
    ваше свойство, которое нужно изменить: ваше значение, желаемое;
}
  

В конечном счете, я согласен с JoshC и Indy

Я предложил приведенные выше ответы только для того, чтобы показать, что вы должны делать, если вы действительно хотите того, о чем говорите.Если бы это был я, если бы изменение стилей для каждого третьего элемента не было абсолютно жизненно важным (поэтому отключение javascript фатально для всей схемы; и даже это можно было бы обойти, чтобы изменить стиль для не-javascript), я бы использовал Ответ JoshC в качестве вашего CSS, а затем используйте некоторую форму решения javascript, чтобы сделать его обратно совместимым (как отметил Инди, или любую другую форму решения javascript).

Введение в селектор CSS nth-child | Мэтью Кроак

odd

Используя nth-child (odd) , вы можете применить CSS к каждому нечетному дочернему элементу.Если бы вы переписали приведенный выше CSS, чтобы повлиять на каждый нечетный элемент, тег p для Келли, Стэнли, Майкла и т. Д. Стал бы красным.

даже

И наоборот, nth-child (even) применит CSS к Creed, Oscar, Jim и т. Д. Формула

(

an + b )

Помимо значения n может быть любым числом, вы также можете использовать формулу. nth-child (3n) повлияет на каждый третий дочерний элемент. nth-child (3n + 1) будет применяться к каждому третьему элементу, начиная с первого.Умножение и деление не поддерживаются в формулах nth-child (n) . Давайте разберем этот формат формулы и посмотрим, что означает каждая часть для nth-child .

a представляет размер цикла. Если a равно 3, это означает, что CSS применяется к каждому третьему элементу. См. Ниже p: nth-child (3n) .

n — это счетчик, используемый для определения того, какой из дочерних элементов в группе затронут. Сам по себе он относится к каждому дочернему элементу. p: nth-child (n) будет выбирать каждые p . Это немного избыточно, так как вы можете просто использовать p отдельно.

b представляет значение смещения. Если вы посмотрите на предыдущий пример nth-child (3n + 1) , CSS будет применяться к каждому третьему элементу, изначально смещенному на единицу. Таким образом, для p: nth-child (3n + 1) будет затронут первый тег p , а затем — каждый третий тег. См. ниже.

Как видите, затрагивается каждый третий тег p; итерация начинается после первой.

Вы также можете использовать вычитание. В nth-child (3n-1) цикл равен 3, а n является счетчиком, что означает, что будет затронут каждый третий тег p . Но когда смещение равно -1, что по существу составляет 3n + (- 1) , вы должны начать свой цикл с одного элемента перед первым тегом p . См. ниже.

Каждый третий тег p, начиная со второго из-за смещения -1

Теперь, когда вы понимаете формульную опцию для nth-child , давайте проверим обратную операцию, отрицательный дочерний диапазон .

CSS nth-last-child (n) Селектор: nth-last-child (n)

Что такое CSS: селектор nth-last-child (n)?

CSS: селектор nth-last-child (n) соответствует только последнему n-му дочернему элементу родительского элемента.

Синтаксис

Общий синтаксис: селектор nth-last-child,

 : nth-last-child (n) {
  стоимость имущества;
  стоимость имущества;
  ...
}

/ * n-ый номер в списке с последнего * /
li: nth-last-child (n) {
  стоимость имущества;
  стоимость имущества;
  ...
}

/ * выбрать нечетный элемент в списке из последнего * /
li: nth-last-child (odd) {
  стоимость имущества;
  стоимость имущества;
  ...
}

/ * выбрать четный элемент в списке из последнего * /
li: nth-child (even) {
  стоимость имущества;
  стоимость имущества;
  ...
}

/ * каждый второй элемент в списке с последнего * /
li: nth-child (2n + 1) {
  стоимость имущества;
  стоимость имущества;
  ...
}

/ * каждый третий элемент в списке с последнего * /
li: nth-child (3n + 1) {
  стоимость имущества;
  стоимость имущества;
  ...
}  

Пример

CSS-селектор li: nth-last-child (2) выбирает только второй последний элемент

  • , который является дочерним по отношению к элементу
      .

        
      
      
         CSS: селектор nth-last-child (n) 
        
      
      
        
      • первый элемент
      • второй элемент
      • третий пункт
      • четвертый пункт
      • пятый пункт

      Запустите… »

      Пример

      CSS-селектор li: nth-child (3n + 1) выбирает каждый третий элемент

    • из последнего, который является дочерним по отношению к элементу
        .

          
        
        
           CSS: селектор nth-last-child (n) 
          
        
        
          
        • первый элемент
        • второй элемент
        • третий пункт
        • четвертый пункт
        • пятый пункт

        Запустите… »

        Совместимость с браузером

        • Google Chrome 2+
        • Mozilla Firefox 3+
        • Internet Explorer 9+
        • Opera 9.5+
        • Safari 4+

        Примечание. Здесь сведения о совместимости браузера с номером версии могут указывать на ошибку и не поддерживаются. Но рекомендуется всегда использовать последнюю версию веб-браузера.

        Сравнение псевдоклассов CSS: nth-child vs nth-of-type

        Введение

        В

        CSS есть несколько псевдоклассов, которые помогут вам с легкостью стилизовать ваше приложение.Наличие большого количества опций может быть отличным, но также может сбивать с толку понимание того, какой псевдокласс использовать и что он на самом деле делает. Здесь мы рассмотрим псевдоклассы CSS nth-child и nth-of-type , чтобы лучше понять, когда использовать каждый из них и в чем разница.

        Псевдоклассы CSS nth-child и nth-of-type интересны по сравнению с другими типами псевдоклассов, поскольку они выбирают элементы на основе их положения в DOM.В то время как некоторые псевдоклассы выбирают конкретное состояние элемента (например, псевдоклассы hover, active, target), nth-child и nth-of-type больше связаны со структурой вашей разметки.

        Предварительные требования

        Настройка HTML

        Чтобы понять разницу между nth-child и nth-of-type , давайте сначала создадим наш HTML, чтобы знать, что мы будем стилизовать.

        Допустим, у нас есть раздел на нашей веб-странице, который содержит элементы заголовка (

        ,

        ) и абзаца (

        ).

          <статья>
           

        Вот заголовок

        Я - абзац со всевозможной информацией.

        Давайте добавим еще один абзац для развлечения.

        йадда йадда йадда

        бла-бла-бла

        йадда йадда йадда

        Вот подзаголовок

        бла-бла-бла

        И, может быть, еще один.

  • Эта разметка будет выглядеть примерно так:

    Всего у нас есть

    элемент в качестве родительского и девять дочерних элементов: один

    , один

    и семь

    тегов.

    nth-child и nth-of-type Синтаксис

    Есть несколько вариантов того, какие значения можно передать псевдоклассам nth-child и nth-of-type . Здесь используется nth-child , но его также можно заменить на nth-of-type .

    • : nth-child (2n + 3) : для этого параметра требуются математические вычисления. Цифры на ваше усмотрение; это n , который будет отличаться. Это возьмет выбранные вами элементы, установит n на 0 для начала и будет увеличиваться оттуда.Таким образом, аналогично циклу для в JavaScript, он будет перебирать выбранные вами элементы, обновляя значение n : 2 (0) +3 = 3 , 2 (1) +3 = 5 , 2 (2) +3 = 7 и так далее. Результатом этого будет выбор третьего, пятого, седьмого и т. Д. Элементов.
    • : nth-child (нечетный / четный) : строки odd или even могут быть переданы для выбора доступных нечетных и четных элементов.
    • : nth-child (3n) : Вы также можете передать число с переменной n , которая выберет этот интервал вхождения выбранного элемента.Если передано 3 , он выберет третий, шестой, девятый и т. Д. Элементы.
    • : nth-child (3) : если вы просто передадите число (без n ), он выберет именно этот элемент из DOM. При передаче 3 будет выбран только третий совпадающий элемент.

    Использование CSS

    nth-child Псевдо-класс

    Псевдокласс nth-child имеет два важных компонента, которые следует учитывать:

    • выбранные элементы, к которым будет применен псевдокласс.
    • значение, переданное псевдоклассу.

    Если мы перейдем к нашей таблице стилей CSS для приведенного выше примера HTML, мы можем выбрать наши элементы абзаца и сделать цвет шрифта бордовым следующим образом:

      артикул п {
      цвет: бордовый;
    }
      

    Допустим, мы хотим, чтобы все остальные элементы абзаца были желтоватого цвета. Мы можем применить псевдокласс nth-child , чтобы применить новый цвет только к каждому другому дочернему элементу, являющемуся абзацем.

      артикул p: nth-child (odd) {
      цвет: золотарник;
    }
      

    Теперь наши абзацы меняют цвет, но вы заметили, что произошло после подзаголовка? Бордовый цвет был повторен, а затем снова стал желтым. Давайте посмотрим, почему это произошло.

    Определение, какие элементы выбираются с помощью

    nth-child

    В нашем примере выше абзацы, соответствующие стилю p: nth-child (odd) , должны соответствовать следующим требованиям в следующем порядке:

    • они являются нечетным потомком родительского элемента
    • они являются элементом абзаца

    Определение четности или нечетности дочернего элемента — это , а не , зависящий от типа.Это означает, что проверка нечетности / четности просматривает всех дочерних элементов в родительском элементе того, что выбирается (элементы абзаца), а затем ищет все абзацы, которые считаются нечетными элементами.

    Абзацы, к которым применен желтый стиль шрифта, являются «нечетными» дочерними элементами, и они являются элементами абзаца (

    ). Это объясняет, почему абзац после подзаголовка в конечном итоге становится бордовым цветом по умолчанию — на самом деле это «четный» дочерний элемент.

    Использование CSS

    псевдокласса nth-of-type

    nth-of-type очень похож на псевдокласс nth-child . Основное отличие состоит в том, что он специально рассматривает тип выбираемого элемента перед проверкой любой другой логики.

    Давайте воспользуемся вышеприведенным примером, но вместо этого применим nth-of-type .

      <статья>
       

    Вот заголовок

    Я - абзац со всевозможной информацией.

    Давайте добавим еще один абзац для развлечения.

    йадда йадда йадда

    бла-бла-бла

    йадда йадда йадда

    Вот подзаголовок

    бла-бла-бла

    И, может быть, еще один.

      артикул п {
      цвет: бордовый;
    }
    
    article p: nth-of-type (odd) {
      цвет: золотарник;
    }
      

    Цвет по умолчанию по-прежнему темно-бордовый, но теперь мы выбираем только нечетные элементы абзаца.

    Стили теперь применяются, если элемент соответствует следующему требованию:

    • Элемент — это абзац с родительским элементом article.
    • Из выбранных выше абзацев выбираются только нечетные.

    Если мы снова посмотрим на это с аннотациями, станет немного яснее, как они выбираются.

    Заголовки (

    ,

    ) вообще не учитываются с nth-of-type , потому что мы выбираем по типу элемента.В этом случае нас интересуют только элементы

    .


    Используете ли вы nth-child или nth-of-type , в конечном итоге будет зависеть от вашей цели стилизации.

    Как правило, если вы хотите выбрать интервал селектора независимо от типа элемента, используйте nth-child . Однако, если вы хотите выбрать только определенный тип и применить оттуда выбор интервала, используйте nth-of-type .

    Заключение

    Селекторы nth-child и nth-of-type имеют отличную поддержку браузера.Проверьте nth-child и nth-of-type на CanIUse.com для получения более подробной информации.

    Для более полного обзора языка разметки HTML5 ознакомьтесь с нашей серией статей «Как создать веб-сайт в HTML».

    10 селекторов CSS, без которых нельзя кодировать · GitHub

    10 селекторов CSS, без которых нельзя кодировать · GitHub

    Мгновенно делитесь кодом, заметками и фрагментами.

    10 селекторов CSS, без которых не стоит писать код

    )
    *
    Селектор * может быть тем, который вам легче всего запомнить, но он часто используется недостаточно.Что он делает, так это стилизует все на странице и отлично подходит для создания сброса, а также для создания некоторых параметров страницы по умолчанию, таких как семейство шрифтов и размер, которые вы хотите иметь.
    * {
    маржа: 0;
    отступ: 0;
    Семейство шрифтов: helvetica, arial, sans-serif;
    font-size: 16px;
    }
    А + В
    Этот селектор называется смежным селектором, и он выбирает элемент, следующий сразу за первым элементом.Если вы хотите выбрать первый div после нашего заголовка, введите:
    заголовок + div {
    margin-top: 50 пикселей;
    }
    А> В
    Этот селектор будет выбирать только прямые дочерние элементы, в отличие от A B, который выбирает дочерние элементы любого уровня A.Этот селектор рекомендуется, когда вы работаете с дочерними элементами первого уровня родительского элемента. Например, если вы хотите выбрать элементы списка первого уровня в неупорядоченном списке, который выглядит следующим образом:
    • Элемент списка с ul
      • Элемент подсписка
      • Элемент подсписка
      • Элемент подсписка
      • Элемент списка
      • Элемент списка
      • Вы могли бы использовать этот селектор, потому что обычный селектор A B также будет выбирать элементы списка внутри вложенного неупорядоченного списка
        ul> li {
        фон: черный;
        цвет: белый;
        }
        A [href * = «example»]
        Это действительно хороший селектор, когда вы хотите стилизовать конкретную ссылку по-другому, все, что находится в кавычках, будет сопоставлено с href ссылки.Например, чтобы оформить все ссылки на facebook синим цветом, вы должны использовать:
        a [href * = «facebook»] {
        цвет: синий;
        }
        Существует также версия без *, которая соответствует точному URL-адресу, который вы можете использовать для точных ссылок.
        A: нет (B)
        Этот селектор особенно полезен из-за предложения отрицания, которое позволяет вам выбирать любую группу элементов, которая не соответствует тому, что вы помещаете в B. Если вы хотите выбрать каждый div, кроме нижнего колонтитула, который вам просто нужен:
        div: не (.нижний колонтитул) {
        margin-bottom: 40 пикселей;
        }
        A: первый ребенок / A: последний ребенок
        Первый и последний дочерние элементы позволяют нам выбрать первого и последнего дочерних элементов родительского элемента.Это может быть большим подспорьем, когда дело доходит до элементов списка и удаления правого поля или границ. Чтобы удалить границу в первом элементе списка и поле в последнем элементе списка, вам необходимо:
        ul li: первенец {
        граница: отсутствует;
        }
        ul li: last-child {
        поле справа: 0 пикселей;
        }
        A: nth-ребенок (n)
        nth-child — это простой способ выбрать любой дочерний элемент элемента в его порядке.Если, например, вам нужен третий элемент в неупорядоченном списке, это будет путь:
        ul li: nth-child (3) {
        фон: #ccc;
        }
        Мы можем использовать nth-child для выбора каждого множителя числа с помощью переменной n, например, если мы поместим 3n, он выберет элемент списка с номером 3, 6, 9, 12 и так далее.
        A: nth-последний-ребенок (n)
        nth-last-child работает как nth-child, но вместо подсчета с первого элемента списка он начинает отсчет с последнего, поэтому, если вы используете его с номером два, он выберет элемент списка, который идет перед последним и его использование аналогично селектору nth-child:
        ul li: nth-last-child (2) {
        фон: #ccc;
        }
        A: тип n (n)
        Этот селектор делает именно то, что вы думаете; он видит, какой тип элемента вы разместили на нем, и выбирает, например, третий элемент на вашей странице, который соответствует тому, что вы ввели.Для выбора третьего абзаца в div вы должны использовать:
        div p: nth-of-type (3) {
        стиль шрифта: курсив;
        }
        A: посетил
        Вы когда-нибудь замечали, что когда вы ищете что-то в Google, страницы, которые вы уже видели, отображаются другим цветом? Это именно то, что делает visit.Это отличное дополнение для пользователей, но о нем иногда забывают, и, судя по моему опыту, оно пригодится каждый раз, когда я ищу в Google.
        a: посетил {
        цвет: синий;
        }
        Вы не можете выполнить это действие в настоящее время.Вы вошли в систему с другой вкладкой или окном. Перезагрузите, чтобы обновить сеанс. Вы вышли из системы на другой вкладке или в другом окне. Перезагрузите, чтобы обновить сеанс.

        CSS-селектор nth-child [Руководство 2020]

        Сегодня мы изучим некоторые основы CSS. Я обычно использую CSS-селекторы nth-child в своих статьях.

        Но это заставило меня понять, что я на самом деле не изучил основы использования селекторов nth-child.

        Сегодня мы рассмотрим возможности этого мощного CSS-селектора на некоторых примерах.

        Базовые селекторы Nth-child постоянная ссылка

        Давайте начнем с некоторых основных селекторов nth-child:

        Мы можем определить, какой номер элемента мы хотим выбрать. Допустим, мы хотим выбрать третий элемент списка .

          

        • Элемент 1

        • Элемент 2

        • Элемент 3

        • Элемент 4

        • Элемент 5

          li: nth-child (3) {
        цвет: зеленый;
        }

        Результат состоит в том, что для стилей выбран только третий элемент:

        Мы можем выбрать каждые нечетные или четные номера элементов с помощью этих атрибутов.

          li: nth-child (нечетное) {
        цвет: красный;
        }

        В результате выбираются только нечетные элементы:

          li: nth-child (even) {
        color: blue;
        }

        В этом примере селектор берет все четные элементы HTML и применяет стиль:

        Что-то классное, что мы можем сделать с селектором nth-child, — это выбрать каждый элемент x . Скажем, например, нам нужен каждый четвертый элемент:

          li: nth-child (4n) {
        color: purple;
        }

        Теперь выбран каждый 4-й дочерний элемент:

        Или, если мы хотим включить первый элемент :

          li: nth-child (4n + 1) {
        color: purple;
        }

        Результат:

        Мы также можем начать со второго элемента , например:

          li: nth-child (4n + 2) {
        color: purple;
        }

        Результат:

        Выбрать каждый элемент, кроме первых x элементов, постоянная ссылка

        Мы даже можем использовать селектор, который выбирает каждый тег, кроме первых трех элементов.

          li: nth-child (n + 4) {
        цвет: бирюзовый;
        }

        Результат:

        Выберите первое x количество элементов, постоянная ссылка

        Еще одна интересная вещь, которую мы можем сделать, — это выбрать только первое x количество. Возьмем первые три элемента:

          li: nth-child (-n + 3) {
        color: teal;
        }

        Результат:

        Выбрать последний элемент постоянная ссылка

        Мы даже можем выбрать последний элемент.

          li: последний ребенок {
        цвет: оранжевый;
        }

        Результат:

        С помощью этого мы также можем смещать, чтобы получить предпоследний элемент списка.

          li: nth-last-child (2) {
        цвет: оранжевый;
        }

        Результат:

        Постоянная ссылка комбинирования селекторов

        Мы также можем комбинировать селекторы nth-child!

        Допустим, вы хотите получить каждое четное число из нечетной суммы списка.

          

        • Элемент 1

        • Элемент 2

        • Элемент 3

        • Элемент 4

        • Элемент 5



        • Элемент 1

        • Элемент 2

        • Элемент 3

        • Элемент 4

        • Элемент 5



        • Элемент 1

        • Элемент 2

        • Элемент 3

        • Элемент 4

        • Элемент 5

          ul: nth-child (нечетный) li: nth-child (четный) { 
        цвет: оранжевый;
        }

        Это получит все нечетные ul , а затем все четные li теги.

        alexxlab

        Добавить комментарий

        Ваш адрес email не будет опубликован. Обязательные поля помечены *