CSS(スタイルシート)のセレクタには「要素セレクタ」「クラスセレクタ」「全てセレクタ」「疑似要素セレクタ」「疑似クラスセレクタ」「属性セレクタ」などの色々な指定することができます。
また「結合子」を使用することで色々な条件を指定することもできます。
主要なセレクタ一覧(W3C定義)となります。(W3CのCSS3セレクタ定義)
以下の表をクリックすると詳細を確認できます。
種類 | セレクタ | 規格 | 意味 | |
---|---|---|---|---|
要素 セレクタ | 要素(タグ) | css1 | 要素(タグ)指定 | |
クラス セレクタ | CLASS | css1 | クラス指定 | |
ID セレクタ | ID | css1 | ID指定 | |
全 セレクタ | * , x|* , |* | css2 | 全て | |
疑似要素 セレクタ | ::first-letter | css1 | 最初の1文字 | |
::first-line | css1 | 最初の1行 | ||
::before | css2 | 直前 | ||
::after | css2 | 直後 | ||
疑似クラス セレクタ | 動的 | :link | css1 | 未訪問のリンク |
:visited | css1 | 訪問済みのリンク | ||
:hover | css1 | マウスオーバー | ||
:active | css1 | クリックされている | ||
:focus | css1 | フォーカスされている | ||
ターゲット | :target | css3 | URIが参照した要素 | |
言語 情報 | :lang() | css2 | 指定のlang指定がある時 | |
UI 要素 状態 | :enabled | css3 | 要素が入力可能の時 | |
:disabled | css3 | 要素が入力不可(disabledを指定)の時 | ||
:checked | css3 | チェックされている時 | ||
構造 | :root | css3 | ページのルート要素 | |
:nth-child() | css3 | n番目の子要素 | ||
:nth-last-child() | css3 | 後ろからn番目の子要素 | ||
:nth-of-type() | css3 | 同じ要素のn番目 | ||
:nth-last-of-type() | css3 | 同じ要素の後ろからn番目 | ||
:first-child | css2 | 要素内の最初の子要素 | ||
:last-child | css3 | 要素内の最後の子要素 | ||
:first-of-type | css3 | 同じ要素の最初 :nth-of-type(1)と同じ | ||
:last-of-type | css3 | 同じ要素の最後 :nth-last-of-type(1)と同じ | ||
:only-child | css3 | 唯一の子要素 | ||
:only-of-type | css3 | 同じ要素の唯一の子要素 | ||
:empty | css3 | 値(テキスト)が無い要素 | ||
否定 | :not() | css3 | 指定以外の時 | |
属性 セレクタ | [attr] | css2 | 属性「attr」を持つ | |
[attr=xxx] | css2 | 属性「attr」の値が「xxx」 | ||
[attr~=xxx] | css2 | 属性「attr」の値に「xxx」が含まれる (スペース区切り) | ||
[attr|=xxx] | css2 | 属性「attr」の値に「xxx」が含まれる (ハイフン区切り) | ||
[attr^=xxx] | css3 | 属性「attr」の値が「xxx」から始まる | ||
[attr$=xxx] | css3 | 属性「attr」の値が「xxx」で終わる | ||
[attr*=xxx] | css3 | 属性「attr」の値に「xxx」を含む | ||
結合子 | x , y | css1 | 複数セレクタ(xまたはy) | |
x y | css1 | 子孫セレクタ(x内のy) | ||
x > y | css2 | 子セレクタ(x階層直下のy) | ||
x + y | css2 | 隣接セレクタ(x直後のy) | ||
x ~ y | css3 | 兄弟セレクタ(xの後に現れるy) |
疑似要素と疑似クラスではコロンの数が違います。ただし、疑似要素をコロン1つで記述してもほとんどのブラウザで動作します。
コロン2つの場合は、IE8など古いブラウザでは認識せずに疑似要素が反映されません。
将来はコロン2つが必須となる可能性もあり、古いブラウザでの対応が必須でない場合はコロン2つがおすすめとなります。
css3でのコロン記述方法 | 代表的な疑似クラス | ||
---|---|---|---|
疑似要素 | 「::」 コロンが2つ | ::first-letter ::first-line ::before ::after | |
疑似クラス | 「:」 コロンが1つ | :link :visited :hover :active :focus :target :lang() :enabled :disabled :checked :root :nth-child() :nth-last-child() :nth-of-type() :nth-last-of-type() :first-child :last-child :first-of-type :last-of-type :only-child :only-of-type :empty :not() |