CSS 名前空間

CSS 名前空間 (CSS namespaces) は、 CSS で名前空間を使用するための構文を定義します。

CSS は HTML のスタイル設定だけのためにあるわけではありません。スタイルシートは、SVG、MathML、XML、HTML のスタイル設定にも使用でき、これらはそれぞれ異なる名前空間があり、または複数の名前空間を含む文書を持っています。

このモジュールで定義されている @namespace アットルールを使用すると、異なる名前空間にある同じ名前の要素を判別することができます。要素タグ名は、1 つの言語に固有のものではありません。例えば、 <a> 要素は HTML に限定されません。 SVG 内の <a> に、HTML 内のリンクとは異なるスタイルを適用したい場合などがあります。querySelectorAll("a") が正しい種類の要素を選択することを保証したい場合もあるでしょう。名前空間で、これらの問題に対処することができます。

@namespace ルールは、既定の名前空間宣言、および名前空間を名前空間の接頭辞に結び付けるために使用されます。名前空間モジュールは、これらの接頭辞を使用して名前空間修飾名を表すための構文も定義しています。名前の意味、あるいはその名前が有効であるかどうかは、コンテキストおよびホスト言語によって異なります。

リファレンス

アットルール

ガイド

名前空間の速修講座

名前空間とは何か、および XML および XML ベースのマークアップ言語で名前空間がどのように使用されているかを詳しく掘り下げて説明します。

関連概念

仕様書

Specification
CSS Namespaces Module Level 3

関連情報