Почему не срабатывает:last-child?

Добрый вечер, 1 раз такое, last-child срабатывает вообще странно - jsfiddle.net/3h76uw7e/. Вот скрин с подписью как работает - 4b17c6f171ab44c89402a84141bf064f.jpg
  • Вопрос задан
  • 31710 просмотров
Решения вопроса 3
nowm
@nowm
Так происходит потому, что :last-child — это последний элемент родительского контейнера. Совсем последний. После него не должно быть никаких элементов. Не получится использовать и :last-of-type, так как last-of-type подразумевает последний элемент по имени, а не по классу (и если после последнего div.blog-item будет хотя бы один div на этом же уровне иерархии, этот div.blog-item перестанет быть last-of-type).

Вообще, я разделители меду элементами делал бы так:

.blog-item + .blog-item {
    /* В ситуации с 5-ю элементами с классом .blog-item, которые строго 
     * следуют друг за другом, этот селектор применится
     * к элементам со второго по пятый. Первый будет проигнорирован.
     */
}
Ответ написан
Комментировать
@1mastodon1
stackoverflow.com/questions/7687597/using-last-chi...
можно использовать вместо :last-child - :first-child, только вместо border-bottom, задать border-top
Ответ написан
WarEnek
@WarEnek
Ленивый freelance'ер
Посмотри, так хочешь?
jsfiddle.net/7sruaj91
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
bosenok
@bosenok
Frontend Developer
Если религия позволяет, сделайте с помощью JQuery

$('.blog-data .blog-item:last')
    .css('border-bottom', 'none');
Ответ написан
Комментировать
@GreatRash
Потому что элемент не является последним чилдом у родителя. Последним чилдом является div.scroll. Когда вы его удаляете правило для div.blog-item вступает в силу.

Вас интересует селектор :last-of-type.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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