CSS3セレクターを使用して、最後の子以外のすべてを選択する方法
たとえば、最後の子だけを取得するのはdiv:nth-last-child(1)
です。
:last-child
擬似クラス に対して 否定擬似クラス:not()
を使うことができます。 CSS Selectors Level 3が導入されたため、IE 8以下では機能しません。
: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;
}
}
Nick Craverの解決策は機能しますが、これを使うこともできます。
:nth-last-child(n+2) { /* Your code here */ }
CSS TricksのChris CoyierがNice :nth tester を作りました。
IE9が来ると、もっと楽になるでしょう。ただし、多くの場合、この問題は次のものを必要とする問題に切り替えることができます。
selectivizr と一緒にnick craverのソリューションを使用すると、クロスブラウザソリューション(IE6 +)が可能になります。
最後から要素を探すには
<style>
ul li:nth-last-of-type(3n){ color:#a94442} /**/
</style>