タイプセレクタ

型選択子 (選択子)

[1] 型選択子 (type selector) は、CSS修飾名によってマーク付け言語要素型の名前を表したものです >>2

仕様書

意味

[3] 名前空間接頭辞を除いた部分 (| よりも後の部分) は要素局所名を表しています >>2

[4] 仕様書は名前空間に対応していれば >>2 という前提でそうなっていますが、 対応していない場合にどう解釈されるか明示的に規定していません。現実には最新の Webブラウザー名前空間に対応したものばかりなのでもはや規定する意味はないのでしょうが。

[10] h1局所名が「h1」である要素を表します。

[5] 名前空間接頭辞は、それに対応すると宣言された名前空間URLを表しています。 CSS では @nemaspace @規則で、 XBL2 では xmlns 属性名前空間接頭辞宣言できます。

[13]

@namespace hoge 'http://hoge/';
hoge|fuga { color: blue }

... は http://hoge/ という名前空間局所名 fuga要素の色を指定しています。

[7] 名前空間接頭辞空文字列であれば、名前空間なし (null名前空間) を表します >>2

[14] |h1null名前空間局所名 h1要素を表しています。

[8] 名前空間接頭辞* であれば、任意の名前空間を表します。 null名前空間もこれに含まれます。 >>2

[15] *|h1HTMLXHTML2 やその他任意の名前空間h1 要素を表しています。

[9] 名前空間接頭辞| もなければ、既定名前空間宣言されていればその名前空間を、 宣言されていなければすべての名前空間 (* と同じ。) を表します。 >>2

[16]

h1 { color: blue }

... はすべての名前空間h1 要素を表しています。一方

@namespace 'http://www.w3.org/1999/xhtml';
h1 { color: blue }

... は HTMLh1 要素だけを表しています。

WebVTT

[36] WebVTT ではWebVTT中間節点オブジェクト空文字列名前空間に属する特定の要素名要素であるものとして扱われます。 >>35

妥当性

[6] 宣言されていない名前空間接頭辞を使うと非妥当となります >>2

大文字と小文字

[11] 局所名大文字小文字の解釈はマーク付け言語に依存します。

[30] HTML文書中のHTML要素ではASCII大文字・小文字不区別です。それ以外、すなわち XML文書要素HTML文書中の HTML 以外の要素では大文字小文字を区別します。

[39] これは厳密には次のようにしなければならない >>29 と定義されています。

[43] つまりHTML文書中のHTML要素に関する限り CSS 側の大文字と小文字の違いは無視されますが、 DOM 側では小文字でなければならず (HTML構文解析器が作った要素は必ずそうなっています)、 大文字を含む要素に一致することはありません。

[12] 名前空間接頭辞大文字小文字を区別します。

歴史

CSS1

[28] 型選択子に相当するものは、特に名前はありませんでしたが、最初期から CSS に含まれていました。

CSS2

[26]型選択子」という名前の仕様上の初出は >>25 です。それまでは明確な名称がありませんでした。

[20] CSS2 まで型選択子名前空間の関係は規定されていませんでした。 IE などは要素修飾名型選択子一致するか判定する実装になっていました。

[21] そのことが >>22 や初期の選択子3には参考として含まれていましたが、最終版からは削除されています。

[34] SVG 1.1CSS2 を使っていますが、型選択子について局所名のみ一致に使うと規定していました >>33

選択子3

[23] 名前空間接頭辞をつけて名前空間に対応させることが >>22 で提案され、 >>24選択子3仕様に取り込まれました。

[32] 名前空間接頭辞は当初は大文字小文字を区別しないことになっていましたが、 最終的には区別することになりました。

HTML

[31] 選択子仕様書は要素名大文字小文字マーク付け言語に依存するとして、 HTMLXML について例を挙げるにとどまっていますが、 HTML 仕様書がかわりにこれを規定するようになりました。 HTML の仕様書とは言え、 HTMLXML のすべての要素の扱いを規定しています。

WebVTT (2010)

[37] WebVTT 仕様書は選択子WebVTT に対して適用する場合の解釈を規定しました。

関連

[17] 局所名のかわりに * を指定したものは普遍選択子と呼ばれます。

[38] Web Applications 1.0 r8253 Match reality better in terms of selector case-sensitivity ( ( 版)) <http://html5.org/tools/web-apps-tracker?from=8252&to=8253>

[44] Web Applications 1.0 r8764 Try to clarify case matching rules for selectors ( ( 版)) <http://html5.org/r/8764>

[19] Gloss the term "type selector" · whatwg/html@1e783c9 ( 版) <https://github.com/whatwg/html/commit/1e783c9fd70b7e6c02775788a487fe88f4658bbc>