CSS 疑似クラス(Pseudo-classes)


CSS 疑似クラスは、セレクターに特別な効果を追加するために使用されます。


構文

疑似クラスの構文:

selector:pseudo-class {property:value;}

CSS クラスでも疑似クラスを使用できます:

selector.class:pseudo-class {property:value;}


アンカー疑似クラス

CSS をサポートするブラウザーでは、リンクのさまざまな状態をそれぞれ異なる方法で表示できます。

例

a:link {color:#FF0000;} /*未訪問のリンク*/ a:visited {color:#0080FF;} /*訪問済みのリンク*/ a:hover {color:#FF00FF;} /*マウスがリンクの上にある状態(ホバー)*/ a:active {color:#0000FF;} /*アクティブなリンク*/

試してみる »

注意:CSS 定義では、a:hover は a:link と a:visited の後に置く必要があります。そうしないと有効になりません。

注意:CSS 定義では、a:active は a:hover の後に置く必要があります。そうしないと有効になりません。

注意:疑似クラスの名前は大文字と小文字を区別しません。


疑似クラスとCSSクラス

疑似クラスは CSS クラスと組み合わせて使用できます:

a.red:visited {color:#FF0000;} <a class="red" href="css-syntax.html">CSS構文</a>

上記の例で、リンクが訪問済みの場合は赤色で表示されます。


CSS :first-child 疑似クラス

:first-child 疑似クラスを使用すると、親要素の最初の子要素を選択できます。

注意:IE8 より前のバージョンでは宣言が必要です<!DOCTYPE>これにより :first-child が機能します。

最初の <p> 要素に一致

以下の例では、セレクターは任意の要素の最初の子要素である <p> 要素に一致します:

例

p:first-child { color:blue; }

試してみる »

すべての <p> 要素内の最初の <i> 要素に一致

以下の例では、セレクターはすべての <p> 要素内の最初の <i> 要素に一致します:

例

p > i:first-child { color:blue; }

試してみる »

最初の子要素であるすべての <p> 要素内のすべての <i> 要素に一致

以下の例では、セレクターは要素の最初の子要素である <p> 要素内のすべての <i> 要素に一致します:

例

p:first-child i { color:blue; }

試してみる »

CSS - :lang 疑似クラス

:lang 疑似クラスを使用すると、異なる言語に対して特別なルールを定義できます。

注意:IE8 では宣言が必要です<!DOCTYPE>その後、:lang 疑似クラスをサポートできます。

以下の例では、:lang クラスが属性値が no である q 要素の引用符のタイプを定義します:

例

q:lang(no) {quotes: "~" "~";}

試してみる »


Examples

その他の例

ハイパーリンクにさまざまなスタイルを追加する
この例では、ハイパーリンクに他のスタイルを追加する方法を示します。

:focus を使用する
この例では、:focus 疑似クラスの使用方法を示します。


すべての CSS 疑似クラス/要素

セレクター 例 例の説明
:checked input:checked 選択されているすべてのフォーム要素を選択
:disabled input:disabled 無効化されているすべてのフォーム要素を選択
:empty p:empty 子要素を持たないすべての p 要素を選択
:enabled input:enabled 有効化されているすべてのフォーム要素を選択
:first-of-type p:first-of-type 親要素の最初の p 要素である各 p 要素を選択
:in-range input:in-range 指定された範囲内の値を持つ要素を選択
:invalid input:invalid すべての無効な要素を選択
:last-child p:last-child すべての p 要素の最後の子要素を選択
:last-of-type p:last-of-type 親要素の最後の p 要素である各 p 要素を選択
:not(selector) :not(p) p 以外のすべての要素を選択
:nth-child(n) p:nth-child(2) すべての p 要素の親要素の2番目の子要素を選択
:nth-last-child(n) p:nth-last-child(2) すべての p 要素の最後から2番目の子要素を選択
:nth-last-of-type(n) p:nth-last-of-type(2) 親要素の最後から数えて2番目の p 要素であるすべての p 要素を選択
:nth-of-type(n) p:nth-of-type(2) 親要素の2番目の p 要素であるすべての p 要素を選択
:only-of-type p:only-of-type 親要素内で唯一の p 要素であるすべての要素を選択
:only-child p:only-child 親要素の唯一の子要素であるすべての p 要素を選択
:optional input:optional "required" 属性を持たない要素を選択
:out-of-range input:out-of-range 指定された範囲外の値を持つ要素を選択
:read-only input:read-only 読み取り専用属性を持つ要素を選択
:read-write input:read-write 読み取り専用属性を持たない要素を選択
:required input:required "required" 属性が指定されている要素を選択
:root root ドキュメントのルート要素を選択
:target #news:target 現在アクティブな #news 要素を選択(URL にアンカーの名前が含まれる場合)
:valid input:valid 有効な値を持つすべての要素を選択
:link a:link 未訪問のすべてのリンクを選択
:visited a:visited 訪問済みのすべてのリンクを選択
:active a:active アクティブなリンクを選択
:hover a:hover マウスがリンクの上にある状態を選択
:focus input:focus フォーカスを持つ入力要素を選択
:first-letter p:first-letter 各 <p> 要素の最初の文字を選択
:first-line p:first-line 各 <p> 要素の最初の行を選択
:first-child p:first-child セレクターは、任意の要素の最初の子要素である <p> 要素に一致します
:before p:before 各 <p> 要素の前にコンテンツを挿入
:after p:after 各 <p> 要素の後にコンテンツを挿入
:lang(language) p:lang(it) <p> 要素の lang 属性の値が指定された値で始まる要素を選択
その他の拡張