Как выбрать всех дочерних элементов элемента, кроме последнего дочернего элемента?

Как выбрать все, кроме последнего, с помощью селекторов CSS3?

Например, для получения только последнего ребенка будет div:nth-last-child(1).

Ответ 2

Сделайте это простым:

Вы можете применить свой стиль ко всем div и повторно инициализировать последний с помощью : last-child:

например, в CSS:

.yourclass{
    border: 1px solid blue;
}
.yourclass:last-child{
    border: 0;
}

или SCSS:

.yourclass{
    border: 1px solid rgba(255, 255, 255, 1);
    &:last-child{
        border: 0;
    }
}
  • легко прочитать/запомнить
  • быстро выполнить
  • совместимый с браузером (IE9 +, поскольку он еще CSS3)

Ответ 3

Когда придет IE9, будет проще. В то же время вы можете переключить проблему на один, требующий: first-child и стиль противоположной стороны элемента (IE7 +).

Ответ 4

Решение Nick Craver работает, но вы также можете использовать это:

:nth-last-child(n+2) { /* Your code here */ }

Крис Койер из CSS Tricks сделал приятный : nth tester для этого.

Ответ 5

Использование решения ник-треск с selectivizr позволяет использовать кросс-браузерное решение (IE6 +)

Ответ 6

чтобы найти элементы из последних, используйте

<style>
ul li:nth-last-of-type(3n){ color:#a94442}  /**/
</style>