パターン | 説明 | CSSレベル |
---|---|---|
* | すべての要素 | 2 |
E | E要素 | 1 |
E.foo | クラス名(class要素)fooを持つE要素 | 1 |
E#foo | ID名(id要素)fooを持つE要素 | 1 |
パターン | 説明 | CSSレベル |
---|---|---|
E F | E要素の子孫要素であるF要素 | 1 |
E1,E2,E3 | グループ要素 ( , カンマ)で区切り複数の要素に同時に指定 | 1 |
E >> F | E Fと同じ仕様(こちらは明確な指定) | 4 |
E > Fexample | E要素の子要素であるF要素 | 2 |
E + Fexample | E要素の直後の兄弟要素であるE要素 | 2 |
E ~ Fexample | E要素の後(以降)の兄弟要素であるE要素 | 3 |
?E F | 子孫要素であるF要素の先祖E要素 | 4 |
パターン | 説明 | CSSレベル |
---|---|---|
E[foo]example | foo属性を持つE要素 | 2 |
E[foo="bar"]example | foo属性の値がbarであるE要素 CSSレベル4からiオプションの指定が可能になり、このオプションを指定すると大文字小文字の区別なしで比較する |
2 |
E[foo~="bar"] | foo属性のスペース(空白)区切りの値で、その中の1つがbarであるE要素 CSSレベル4からiオプションの指定が可能になり、このオプションを指定すると大文字小文字の区別なしで比較する |
2 |
E[foo^="bar"] | foo属性の値がbarで開始するE要素 CSSレベル4からiオプションの指定が可能になり、このオプションを指定すると大文字小文字の区別なしで比較する |
3 |
E[foo$="bar"] | foo属性の値がbarで終了するE要素 CSSレベル4からiオプションの指定が可能になり、このオプションを指定すると大文字小文字の区別なしで比較する |
3 |
E[foo*="bar"] | foo属性の値にbarが含まれるE要素 CSSレベル4からiオプションの指定が可能になり、このオプションを指定すると大文字小文字の区別なしで比較する |
3 |
E[foo|="bar"] | foo属性のハイフン区切りの値で、barから始まるE要素 CSSレベル4からiオプションの指定が可能になり、このオプションを指定すると大文字小文字の区別なしで比較する |
2 |
※ E要素が書かれていない場合は、ユニバーサルセレクター (*) が暗黙に含まれています。
パターン | 説明 | CSSレベル |
---|---|---|
:root | 文書のルート(HTML)要素 | 3 |
E:link | 遷移先が未訪問であるE要素 | 1 |
E:hoverexample | E要素にカーソルがのったE要素 | 1 |
E:active | クリック中のE要素 | 1 |
E:focus | フォーカスされているE要素 | 2 |
E:nth-child(n) E:nth-child(an+b) example |
n番目の子要素であるE要素 (E要素が範囲ではない) 引数nはodd(奇数で2n+1と同じ意味)、even(偶数で2nと同じ意味)というキーワードの指定が可能 引数aはa個毎(aの倍数の要素)、引数bは範囲 aが負である場合はnth-last-childと同じ動作となる 引数aが指定され、引数bの指定がない場合は引数bは0として扱われる |
3 |
E:first-childexample | 最初の子要素であるE要素 (E要素が範囲ではない) |
2 |
E:last-child | 最後の子要素であるE要素 (E要素が範囲ではない) |
3 |
E:nth-last-child(n) E:nth-last-child(an+b) |
最後からn番目の子要素であるE要素 (E要素が範囲ではない) 引数はnth-childと同じ仕様 aが負である場合はnth-childと同じ動作となる |
3 |
E:nth-of-type(n) E:nth-of-type(an+b) |
E要素(同じ型)のn番目の子要素であるE要素 引数はnth-childと同じ仕様 |
3 |
E:nth-last-of-type(n) E:nth-last-of-type(an+b) |
E要素(同じ型)の最後からn番目の子要素であるE要素 引数はnth-childと同じ仕様 |
3 |
E:nth-match(an+b of selector-list) | 4 | |
E:nth-last-match(an+b of selector-list) | 4 | |
E:first-of-type | E要素(同じ型)の最初の子要素であるE要素 | 3 |
E:last-of-type | E要素(同じ型)の最後の子要素であるE要素 | 3 |
E:only-child | 兄弟要素が存在しない唯一のE要素 (E要素が範囲ではない) |
3 |
E:only-of-type | E要素(同じ型)の兄弟要素が存在しない唯一のE要素 | 3 |
E:empty | 空のE要素 コメントも空として扱うが、改行やインデント、全角・半角スペースなどは空として扱われない |
3 |
E:blank | 空のE要素 コメント、半角スペース、改行、インデントも空として扱う ※ Firefox実験的実装:-moz-only-whitespace |
4 |
E:visited | 遷移先が訪問済であるE要素 | 1 |
E:focus-within | 4 | |
E:target | 遷移先がハッシュで参照(遷移)したE要素 | 3 |
E:any-link | E:linkとE:visitedの両方の意味を持つ擬似クラス | 4 |
E:local-link | 4 | |
E:local-link(n) | 4 | |
E:lang(c) | lang属性の値が引数cを持つE要素 | 2 |
E:dir(d) | 4 | |
E:enabled | 有効であるE要素 | 3 |
E:disabled | 無効であるE要素 | 3 |
E:checked | チェックされているE要素 | 3 |
E:indeterminate | チェックが不確定状態となっているE要素 | - |
E:default | チェックボックスやセレクトなどで初期値が指定されているE要素 | - |
E:placeholder-shown | placeholder属性を持つE要素 ※ Chrome、Safari、Opera実験的実装:E::-webkit-input-placeholder ※ Firefox実験的実装:E::-moz-placeholder ※ IE実験的実装:E:-ms-input-placeholder |
4 |
E:required | required属性を持つE要素 | - |
E:optional | optional属性を持つあるいはrequired属性を持たないE要素 | - |
E:valid | 妥当性検査に成功したE要素 | - |
E:invalid | 妥当性検査に失敗した(エラーとなった)E要素 | - |
E:user-invalid | 4 | |
E:user-error | 4 | |
E:in-range | 数値が指定範囲内であるE要素 | - |
E:out-of-range | 数値が指定範囲外(エラー)であるE要素 | - |
E:read-only | readonly属性を持つE要素 ※ Firefox実験的実装:E:-moz-read-only |
4 |
E:read-write | 編集可能なE要素 ※ Firefox実験的実装:E:-moz-read-write |
4 |
E:not(s) | 引数sのセレクタ―に一致しないE要素 | 3 |
E:not(s, s...) | E:not(s)の引数sが複数指定できるパターン | 4 |
E:matches(s[, s...]) | 引数sであるE要素 ※ Chrome、Safari、Opera実験的実装:E:-webkit-any(s[, s...]) ※ Firefox実験的実装:E:-moz-any(s[, s...]) |
4 |
E:current(s[, s...]) | 4 | |
E:past(s[, s...]) | 4 | |
E:future(s[, s...]) | 4 | |
E:has(s[, s...]) | 引数sの子孫要素を持っているE要素 | 4 |
E:drop E:drop(k) |
4 | |
E:column(s) | 4 | |
E:nth-column(an+b) | 4 | |
E:nth-last-column(an+b) | 4 | |
E::backdrop | - | |
E:fullscreen | - |
パターン | 説明 | CSSレベル |
---|---|---|
E::first-line | E要素の最初の一行 br要素などの改行や自動の折り返しで、折り返されたものは一行として含まれない |
1 |
E::first-letter | E要素の最初の一文字 | 1 |
E::selection | E要素内で選択された要素(文字や画像などを含む) | 3 |
E::beforeexample | E要素の最初の子要素として生成するコンテンツ要素 CSSレベル2ではコロンが1つ、CSSレベル3からはコロンが2つとなることに注意 |
2 |
E::after | E要素の最後の子要素として生成するコンテンツ要素 CSSレベル2ではコロンが1つ、CSSレベル3からはコロンが2つとなることに注意 |
2 |
E::marker | E要素をulやol要素と同等に扱う ulやol要素のみで使用可能なプロパティが使用可能となる |
- |
パターン | 説明 | CSSレベル |
---|---|---|
E::-ms-expand | select要素の初期状態にあるE要素 | - |
E::-ms-clear | バツ(入力内容のクリア)ボタンがあるE要素 | - |
E::-ms-reveal | type属性がpasswordで目マークのE要素 | - |
CSS /* [text]というclassが付いた div タグの直下の子要素の span タグのみに適用 */ div.text > span { color: red; } HTML <div class="text"> <span>[text]というclassがついたdivタグの直下のspan(子要素)なので赤くなる</span> <p><span>[text]というclassがついたdivの中のpの中のspan(孫要素)なので赤くならない</span></p> </div> <div> <span>[text]というclassがついてないdivの直下なので赤くならない</span> </div>
CSS /* h2 タグに隣接してる p タグに適用 */ h2 + p { color: red; } HTML <h2>見出し</h2> <h3>見出し</h3> <p>h2に隣接してないので赤くならない</p> <h2>見出し</h2> <p>h2に隣接してるので赤くなる</p> <p>h2に隣接してないので赤くならない</p>
ある要素以降の兄弟要素に適用
CSS /* h2 タグ以降の p タグに適用 */ h2 ~ p{ color: red; } HTML <h1>見出し</h1> <p>ここは赤くならない</p> <h2>h2タグ自身は赤くならない</h2> <p>h2タグ以降の兄弟のpタグなので赤くなる</p> <div> <p>孫要素は赤くならない</p> </div> <p>間に他のタグが入っても</p> <p>pタグ以降の兄弟のpタグなので赤くなる</p>
要素の後に [ ]で属性を指定すると、任意の属性を持つセレクタに適用
CSS /* target属性を持つ a タグに適用 */ a[target]{ color: red; } HTML <a href="#" target="_blank">target="_blank"</a> <a href="#" target="_self">target="_self"</a> <a href="#" target="_top">target="_top"</a> <a href="#" target="window">target="window"</a>
CSS /* target属性の値が _blank になっている a タグに適用 */ a[target="_blank"]{ color: red; } HTML <a href="#" target="_blank">target="_blank"</a> <a href="#" target="_self">target="_self"</a> <a href="#" target="_top">target="_top"</a> <a href="#" target="window">target="window"</a>
CSS p{ color: blue; } /* 最初の p タグだけ適用 */ p:first-child{ color: red; } HTML <p>最初のpは赤くなる</p> <p>2番目以降のpは赤くならない</p> <p>2番目以降のpは赤くならない</p>
CSS /* 3番目の li タグを赤くする */ ul li:nth-child(3){ color: red; } HTML <ul> <li>1番目のli</li> <li>2番目のli</li> <li>3番目のliは赤くなる</li> <li>4番目のli</li> <li>5番目のli</li> </ul>
CSS a:hover{ color: red; } HTML <a href="#">マウスを乗せている時だけ赤くなる</a> <a href="#">マウスを乗せている時だけ赤くなる</a>
CSS h3::before {content:"★";} strong::before {content:"【";} strong::after {content:"】";} HTML <h3>今日のお天気</h2> <p>今日は<strong> 晴れ </strong>です。</p> <h3>明日のお天気</h2> <p>今日は<strong> 雨 </strong>です。</p> Display★今日のお天気
今日は【晴れ】です。★明日のお天気
明日は【雨】です。