標準リストを使用して、最後の2つのリストアイテムを選択しようとしています。 An+B
のさまざまな組み合わせを持っていますが、最後の2つを選択するものはありません:
li:nth-child(n+2) {} /* selects from the second onwards */
li:nth-child(n-2) {} /* selects everything */
li:nth-child(-n+2) {} /* selects first two only */
li:nth-child(-n-2) {} /* selects nothing */
私は:nth-last-child()
のような新しいCSS3セレクターを知っていますが、可能であれば、さらにいくつかのブラウザーで動作するものを好むでしょう(特にIEを気にしないでください)。
これにより、リストの最後の2つの要素が選択されます。
li:nth-last-child(-n+2) {color:red;}
<ul>
<li>fred</li>
<li>fred</li>
<li>fred</li>
<li>fred</li>
<li>fred</li>
<li>fred</li>
<li>fred</li>
<li>fred</li>
<li>fred</li>
<li>fred</li>
</ul>
nth-last-child
は、この問題を解決するために特別に設計されたように聞こえるので、より互換性のある代替手段があるかどうか疑問です。ただし、サポートは かなりまとも に見えます。
:nth-last-child(-n+2)
トリックを行う必要があります
nth-child
のセマンティクスの定義のため、関連する要素のリストの長さを含めずにこれがどのように可能かはわかりません。セマンティクスのポイントは、子要素の束を繰り返しグループ(edit-thanks BoltClock)または一定の長さの最初の部分とそれに続く「残り」に分離できるようにすることです。 nth-last-child
が提供するのとは逆のことが必要です。