Псевдокласс :last-child | CSS справочник
CSS селекторыЗначение и применение
Псевдокласс :last-child применяет стиль к элементу в том случае, если элемент является последним дочерним элементом своего родителя.
Этот псевдокласс в отличие от псевдокласса :first-child выбирает последний дочерний элемент своего родителя, а не первый.
Поддержка браузерами
Селектор | Chrome | Firefox | Opera | Safari | IExplorer | Edge |
---|---|---|---|---|---|---|
:last-child | 4.0 | 3.5 | 9.6 | 3.2 | 9.0 | 12.0 |
CSS синтаксис:
:last-child { блок объявлений; }
Версия CSS
CSS3Пример использования
Давайте рассмотрим пример, в котором перед Вами стоит задача изменить стиль для всех элементов, которые выделены оранжевым цветом на изображении:
Пример выбора селектора дочерних элементов.
Что общего у элементов, выделенных на изображении? А общее у них то, что выделенные элементы <article> и <li> являются последними дочерними элементами своих родителей, и чтобы нам их стилизовать необходимо использовать псевдокласс
Если вы сходу сможете ответить почему ни один элемент <h3> на изображении выше нельзя стилизовать с использованием псевдокласса :last-child, то можете сразу перейти к примеру, если нет, то внимательно изучите следующее изображение, оно поможет Вам до конца понять как работает псевдокласс :last-child:
Схема работы псевдокласса :last-child.
Еще раз поясню, если вы создадите селектор h3:last-child, то браузер не найдет этот элемент по той причине, что нет элементов <h3>, которые являются последними дочерними элементами своего родителя, важно это понять, так как подобные вещи иногда ставят людей в ступор.
Перейдем к примеру:
<!DOCTYPE html> <html> <head> <meta charset = "UTF-8"> <title>Псевдокласс :first-child</title> <style> article:last-child { /* выбираем каждый элемент <article>, который является последним дочерним элементом своего родителя */ color: blue; /* устанавливаем цвет текста */ } li:first-child{ /* выбираем каждый элемент <li>, который является последним дочерним элементом своего родителя */ color: red; /* устанавливаем цвет текста */ font-size: 24px; /* устанавливаем размер шрифта */ } </style> </head> <body> <h3>Первый заголовок h3 тега body</h3> <ul> <li>один</li> <li>два</li> <li>три</li> </ul> <h3>Второй заголовок h3 тега body</h3> <article> <h3>Первый заголовок h3 тега article</h3> <ul> <li>один</li> <li>два</li> <li>три</li> </ul> </article> </body> </html>
В этом примере с использованием псевдокласса :last-child мы стилизовали элементы <article> и <li>, которые являются последними дочерними элементами своих родителей.
Результат нашего примера:
Пример использования псевдокласса :last-child.CSS селекторыПсевдокласс nth-last-child — n-ный потомок родителя, отсчет с конца
Псевдокласс nth-last-child
выбирает
элемент, который является n-ным потомком
родителя, отсчитывая с конца. Ведет себя
аналогично nth-child
,
только отсчет ведется с конца.
Синтаксис
селектор:nth-last-child(число | odd | even | выражение) {
}
Значения
Значение | Описание |
---|---|
число | Положительное число начиная с . Задает номер элемента, к которому мы хотим обратиться. Нумерация элементов начинается с 1 . |
odd | Нечетные элементы. |
even | Четные элементы. |
выражение | Можно составлять специальные выражения с буквой n,
которая обозначает все целые числа от нуля (не от единицы!) до бесконечности. Так, 2n — значит все четные числа (начиная со второго). Как это понять? Подставляем в n последовательно числа от 0 и так далее: если n = 0, то 2n даст 0 —
такого элемента нет ( |
Пример
В данном примере мы сделаем красного цвета тот li, который является 4-тым с конца потомком своего родителя (4-тым внутри ol):
<ul>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
</ul>
li:nth-last-child(4) {
color: red;
}
:
Пример
Сейчас красными сделаем все четные с конца li:
<ul>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
</ul>
li:nth-last-child(even) {
color: red;
}
:
Пример
Сейчас красными сделаем все нечетные с конца li:
<ul>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
</ul>
li:nth-last-child(odd) {
color: red;
}
:
Пример
Сейчас красными сделаем каждую третью с конца li (начиная с третьей с конца):
<ul>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
</ul>
li:nth-last-child(3n) {
color: red;
}
:
Псевдокласс— проблема с селектором CSS «все, кроме последнего»
Задавать вопрос
спросил
Изменено 5 лет, 4 месяца назад
Просмотрено 5к раз
У меня есть список подсписков. У каждого подсписка есть свои дочерние элементы. Мне нужно применить стиль ко всем, кроме последнего подсписка. Я использую:
.list:not(:last-child) > .sublist { красный цвет; }
Но это касается всех подсписков. Вот демонстрационный код (скрипка: http://jsfiddle.net/8m72m53r/3/):
:not(:last-child) > .row { красный цвет; }
<ул>
- css
- псевдокласс
0
Вот и все — у вас почти все получилось, просто убедитесь, что вы используете псевдокласс :last-of-type
.box:not(:last-of-type) >.row { красный цвет; }
<ул>
0
Это может вам помочь:
. box>.row:not(:last-of-type)
Я не уверен, что вы ищете это. Но если вы хотите стилизовать все элементы, кроме последних, используйте что-то вроде этого:
.row:not(:last-child) { красный цвет; }
Зарегистрируйтесь или войдите
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
html — Форма селектора CSS: последний дочерний элемент не работает
спросил
Изменено 5 лет, 3 месяца назад
Просмотрено 2к раз
Кажется, псевдокласс CSS :last-child
не работает с элементами формы, но :first-child
работает.
форма: первый ребенок { граница: 1px сплошной синий; } форма: последний ребенок { граница: 1px сплошной красный; }
<тело> <форма>Первая форма
форма> <форма>Вторая форма
форма>