
CSSで後ろから何番目に指定するには?
Webページのスタイリングを行う際、要素の順番を基準にスタイルを適用したい場合があります。特に、リストの最後から数えて何番目の要素といった指定は、CSSの擬似クラスを使うことで実現できます。
:nth-last-of-type(n) と :nth-last-child(n)
CSSで要素を後ろから指定するには、主に以下の2つの擬似クラスを使用します。
| 擬似クラス | 説明 | 
|---|---|
| :nth-last-of-type(n) | 親要素内の同じ型の要素の中で、後ろからn番目の要素を選択します。 | 
| :nth-last-child(n) | 親要素内の全ての子要素の中で、後ろからn番目の要素を選択します。 | 
これらの擬似クラスでは、"n" の部分に数値を指定することで、後ろから何番目の要素を選択するかを指定できます。例えば、:nth-last-of-type(2) は、後ろから2番目の要素を選択します。
使用例
:nth-last-of-type(n) の例
以下のHTMLコードでは、リストの最後のリストアイテムの文字色を赤色に設定しています。
<ul>
  <li>リストアイテム1</li>
  <li>リストアイテム2</li>
  <li>リストアイテム3</li>
</ul>
<style>
  li:nth-last-of-type(1) {
    color: red;
  }
</style>
:nth-last-child(n) の例
以下のHTMLコードでは、段落要素の中で、後ろから2番目の段落要素の背景色を黄色に設定しています。
<div>
  <p>段落1</p>
  <p>段落2</p>
  <span>スパン</span>
  <p>段落3</p>
</div>
<style>
  p:nth-last-child(2) {
    background-color: yellow;
  }
</style>
注意点
- :nth-last-of-type(n)は、同じ型の要素の中で順番を判断しますが、- :nth-last-child(n)は、要素の種類に関係なく順番を判断します。
- "n" には、数値だけでなく、"even" (偶数) や "odd" (奇数) などのキーワードも指定できます。
参考資料
よくある質問
Q1. :nth-last-of-type(n) と :nth-last-child(n) の違いは何ですか?
A1. :nth-last-of-type(n) は、親要素内の同じ型の要素の中で順番を判断しますが、:nth-last-child(n) は、要素の種類に関係なく順番を判断します。
Q2. "n" にはどのような値を指定できますか?
A2. "n" には、数値だけでなく、"even" (偶数) や "odd" (奇数)、"an + b" (等差数列) などのキーワードも指定できます。
Q3. :nth-last-of-type(n) を使って、最後から3番目の要素を選択するにはどうすればよいですか?
A3. :nth-last-of-type(3) を使用します。
その他の参考記事:jquery nth child