Ответ 1
Вы можете использовать отрицательный псевдокласс :not()
для :last-child
псевдокласс. Представляя CSS Selectors Level 3, он не работает в IE8 или ниже:
:not(:last-child) { /* styles */ }
Как выбрать все, кроме последнего, с помощью селекторов CSS3?
Например, для получения только последнего ребенка будет div:nth-last-child(1)
.
Вы можете использовать отрицательный псевдокласс :not()
для :last-child
псевдокласс. Представляя CSS Selectors Level 3, он не работает в IE8 или ниже:
:not(:last-child) { /* styles */ }
Вы можете применить свой стиль ко всем 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, будет проще. В то же время вы можете переключить проблему на один, требующий: first-child и стиль противоположной стороны элемента (IE7 +).
Решение Nick Craver работает, но вы также можете использовать это:
:nth-last-child(n+2) { /* Your code here */ }
Крис Койер из CSS Tricks сделал приятный : nth tester для этого.
Использование решения ник-треск с selectivizr позволяет использовать кросс-браузерное решение (IE6 +)
чтобы найти элементы из последних, используйте
<style>
ul li:nth-last-of-type(3n){ color:#a94442} /**/
</style>