このウェブサイトはご利用の端末での閲覧に対応していません。
This website does not support your device.

“CSS Namespaces Module”

記事Jul. 31st,2021
CSS3での名前空間の使用についてを定義した“CSS Namespaces Module”について。

仕様書の概要

概要

CSS Namespaces Module”はCSSにおける名前空間の使用について定義している仕様書です。

@namespace”ルールによる名前空間を表す接頭辞の定義の方法や、接頭辞の使用方法などについて定義されています。

仕様書

定義されている@ルール

用語など

名前空間

名前空間(Namespaces)”は文書の中に記述されたタグがどのマークアップ言語のものなのかを判別するための仕組みで、複数のマークアップ言語が混在する文書で名前が重複するタグを区別するために使用されます。

XML文書は複数のマークアップ言語を組み合わせて組み立てることができるので、“xmlns”属性によって名前空間を宣言して要素や属性がどのマークアップ言語で定義されているものなのかを区別します。

HTML文書では一般の要素は“xmlns”属性がなくてもHTML名前空間に属しているものとして扱われるので意識される場面はあまりありませんが、SVGやMathMLなどの要素を含むと複数の名前空間の要素が混在することになります。

CSSでは@namespace”ルールを使用して定義し、名前空間に関連付けた接頭辞をタイプ・セレクタ属性セレクタに付加することによってこれらのセレクタが選択する対象を特定の名前空間に属する要素や属性に限定することができます。

CSS適合名

属する名前空間が明示された要素名や属性名は“CSS適合名(CSS qualified name)”となります。CSS適合名は縦線(U+007C、“|”)を挟んだ定義済みの名前空間の接頭辞とローカル名からなります。接頭辞はローカル名が属する名前空間を表します。

接頭辞の省略は名前空間に属さないことを表します。また、アスタリスク(U+002A、“*”)は名前空間がない場合も含めてすべての名前空間を表します。

特定の名前空間に属する“〚要素名〛
〚名前空間〛|〚要素名〛 { ... }

どの名前空間にも属さない“〚要素名〛
|〚要素名〛 { ... }

名前空間にかかわらず“〚要素名〛”という名前の要素
*|〚要素名〛 { ... }

既定の名前空間に属する“〚要素名〛
〚要素名〛 { ... }

特定の名前空間に属する“〚属性名〛
[〚名前空間〛|〚属性名〛] { ... }

CSS適合名はCSSのセレクタやプロパティの値として使用されます。正しく定義されない接頭辞の扱いについてはそれぞれのプロパティの仕様に依ります。

定義されているCSSルール

@ルール

@ルール 説明
@namespace 名前空間の接頭辞を定義する
一番上へ
トップにもどる
シェアする
シェアする
Facebookでシェアする
ツイート
Google+でシェア
Pocket
はてなブックマーク