css — Не работает :nth-child
Разъясните пожалуйста почему не работает :nth-child.
.container {
width: 450px;
height: 250px;
border: 1px solid #000000;
text-align: center
}
.container div {
height: 50px;
width: 50px;
background: green;
margin: auto;
display: inline-block;
opacity: 0.5;
}
.container:nth-child(7) {
background: red;
}<div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div>1
Вы указали для контейнера а надо для дива в контейнере
.container {
width:450px;
height:250px;
border: 1px solid #000000;
text-align: center
}
.
container div {
height: 50px;
width: 50px;
background: green;
margin: auto;
display: inline-block;
opacity: 0.5;
}
.container div:nth-child(7) {
background: red;
} <div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
Вот что бы получилось если было бы 7 контейнеров и css как у вас.container {
width:450px;
height:250px;
border: 1px solid #000000;
text-align: center
}
.container div {
height: 50px;
width: 50px;
background: green;
margin: auto;
display: inline-block;
opacity: 0.5;
}
.
container:nth-child(7) {
background: red;
}<div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>Необходимо задать так .
.container {
width:450px;
height:250px;
border: 1px solid #000000;
text-align: center
}
.container div {
height: 50px;
width: 50px;
background: green;
margin: auto;
display: inline-block;
opacity: 0.5;
}
.container div:nth-child(7) {
background: red;
}<div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>Зарегистрируйтесь или войдите
Регистрация через Google Регистрация через Facebook Регистрация через почтуОтправить без регистрации
ПочтаНеобходима, но никому не показывается
Отправить без регистрации
ПочтаНеобходима, но никому не показывается
:nth-child() | WebReference
Псевдокласс :nth-child() позволяет выбрать элементы на основе их положения в группе братских элементов.
В общем виде этот псевдокласс записывается следующим образом.
:nth-child(an ± b) { … }Вместо a и b подставляются конкретные целые числа, а n является счётчиком и остаётся в исходном виде. Числа
Формулу 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; }- Нумерованные списки
- Псевдокласс :nth-child
- Псевдокласс :nth-last-child
- Псевдоклассы в CSS
Автор: Влад Мержевич
Последнее изменение: 12.
03.2020
html — Почему селектор nth-child не работает в css?
Задавать вопрос
спросил
Изменено 4 года, 10 месяцев назад
Просмотрено 8к раз
Я использую nth-child селектор, чтобы добавить цвет границы для различных социальных элементов списка-группы . Что я делаю не так?
.list-group-item:nth-child(1) {
граница справа: 3 пикселя сплошного желтого цвета;
}
.list-group-item:nth-child(2) {
граница справа: 3 пикселя сплошного красного цвета;
}
.list-group-item:nth-child(3) {
граница справа: 3 пикселя сплошного зеленого цвета;
}
.list-group-item:nth-child(4) {
граница справа: 3 пикселя сплошного синего цвета;
}
.
list-group-item:nth-child(5) {
правая граница: сплошная известь 3 пикселя;
}
.list-group-item:nth-child(6) {
граница справа: 3 пикселя сплошного красного цвета;
} <дел>
<дел>
Yahoo


container:nth-child(7) {
background: red;
}
list-group-item:nth-child(5) {
правая граница: сплошная известь 3 пикселя;
}
.list-group-item:nth-child(6) {
граница справа: 3 пикселя сплошного красного цвета;
}
Выше вы пытаетесь выбрать дочерние теги span, объявленные для использования класса list-group-item, который не существует. Вместо этого попробуйте использовать селектор nth-of-type() для ближайшего общего родителя всех элементов div, содержащих теги span, которые вы хотите стилизовать. Что-то вроде следующего, вероятно, сработает:
#container span:nth-of-type(1) {
…
}

