E:nth-of-type(n)は、疑似クラスの一種で、
n番目のその種類の要素にスタイルを適用する際に使用します。
E:nth-child(n)の場合には、
種類に関係なく要素を数えて、n番目にE要素が来た場合にスタイル適用の対象になります。
一方、E:nth-of-type(n)の場合には、途中で別の種類の要素が入る場合にはそれを数えずに、
指定した種類の要素のみを数えてスタイル適用の対象が決定されます。
nの部分には、整数・奇数を表すodd・偶数を表すeven・数式を指定することができます。
例えば、数式で奇数を指定する場合には2n+1、数式で偶数を指定する場合には2n+0となります。
■セレクタの書式・スタイルを適用する対象
- 書式
- E:nth-of-type(n) {プロパティ名:値;}
- 適用対象
- n番目のその種類の要素
■使用例
スタイルシート部分は外部ファイル(sample.css)に記述。
div.sample1, div.sample2 {background-color:#CCFFCC;}
div.sample1 p, div.sample2 p {border:1px dotted #000000;}
div.sample1 p:nth-child(4) {background-color:#FFCCCC;}
div.sample2 p:nth-of-type(4) {background-color:#FFCCCC;}
HTMLソース
<html>
<head>
<link rel=”stylesheet” type=”text/css” href=”sample.css”>
</head>
<body>
<div class=”sample1″>
<h2>p:nth-child(4)の場合</h2>
<h3>今日の天気</h3>
<p>今日は<strong>晴れ</strong>でしょう。</p>
<p>日差しが強くなるでしょう。</p>
<p>日傘や帽子の使用をおすすめします。</p>
<h3>明日の天気</h3>
<p>明日は<strong>雨</strong>でしょう。</p>
<p>気温が低くなるでしょう。</p>
<p>長袖の上着があると良いでしょう。</p>
</div>
<div class=”sample2″>
<h2>p:nth-of-type(4)の場合</h2>
<h3>今日の天気</h3>
<p>今日は<strong>晴れ</strong>でしょう。</p>
<p>日差しが強くなるでしょう。</p>
<p>日傘や帽子の使用をおすすめします。</p>
<h3>明日の天気</h3>
<p>明日は<strong>雨</strong>でしょう。</p>
<p>気温が低くなるでしょう。</p>
<p>長袖の上着があると良いでしょう。</p>
</div>
</body>
</html>
ブラウザ上の表示
p:nth-child(4)の場合
今日の天気
今日は晴れでしょう。
日差しが強くなるでしょう。
日傘や帽子の使用をおすすめします。
明日の天気
明日は雨でしょう。
気温が低くなるでしょう。
長袖の上着があると良いでしょう。
p:nth-of-type(4)の場合
今日の天気
今日は晴れでしょう。
日差しが強くなるでしょう。
日傘や帽子の使用をおすすめします。
明日の天気
明日は雨でしょう。
気温が低くなるでしょう。
長袖の上着があると良いでしょう。
■関連項目
全称セレクタ(ユニバーサルセレクタ) …… すべての要素にスタイルを適用する
classセレクタ(クラスセレクタ) …… 特定のclass名がつけられた要素にスタイルを適用する
idセレクタ …… 特定のid名がつけられた要素にスタイルを適用する
:link擬似クラス …… 未訪問のリンクにスタイルを適用する
:visited擬似クラス …… 訪問済のリンクにスタイルを適用する
:hover擬似クラス …… カーソルが乗っている要素にスタイルを適用する
:active擬似クラス …… クリック中の要素にスタイルを適用する
:focus擬似クラス …… フォーカスされた要素にスタイルを適用する
:lang擬似クラス …… 特定の言語を指定された要素にスタイルを適用する
:first-child擬似クラス …… 最初に現れる子要素にスタイルを適用する
:first-line擬似要素 …… 要素の最初の行にスタイルを適用する
:first-letter擬似要素 …… 要素の最初の文字にスタイルを適用する
:before擬似要素 …… 要素の直前に内容を挿入する
:after擬似要素 …… 要素の直後に内容を挿入する
属性セレクタ …… 特定の属性を持つ指定要素にスタイルを適用する
属性(値)セレクタ …… 特定の属性(値)を持つ指定要素にスタイルを適用する
属性(値候補)セレクタ …… 属性値候補と一致した場合にスタイルを適用する
E[foo^=”bar”] …… foo属性の値がbarで始まるE要素
E[foo$=”bar”] …… foo属性の値がbarで終わるE要素
E[foo*=”bar”] …… foo属性の値にbarを含むE要素
E:root …… 文書のルートとなる要素
E:nth-child(n) …… n番目の子となるE要素
E:nth-last-child(n) …… 後ろから数えてn番目の子となるE要素
E:nth-of-type(n) …… n番目のその種類の要素
E:nth-last-of-type(n) …… 後ろから数えてn番目のその種類の要素
E:last-child …… 子として最後のE要素
E:first-of-type …… 最初のその種類の要素
E:last-of-type …… 最後のその種類の要素
E:only-child …… 子として唯一となるE要素
E:only-of-type …… 子として唯一となるその種類の要素
E:empty …… 要素内容が空となるE要素
E:target …… リンクのターゲット先となるE要素
E:enabled …… 有効となっているユーザーインターフェース要素(テキストエリアなど)
E:disabled …… 無効となっているユーザーインターフェース要素(テキストエリアなど)
E:checked …… チェックされているユーザーインターフェース要素(ラジオボタン・チェックボックスなど)
E:not(s) …… sで指定するセレクタに当てはまらないE要素
E ~ F …… E要素の後ろにある同じ階層のF要素
複数のセレクタ …… 複数のセレクタに同じスタイルを適用する
子孫セレクタ …… 子孫要素にスタイルを適用する
子セレクタ …… 子要素にスタイルを適用する
隣接セレクタ …… 直後に隣接している要素にスタイルを適用する