CSS 命名空间

CSS 命名空间模块定义了在 CSS 中使用命名空间的语法。

CSS 不仅仅用于样式化 HTML。样式表可以用于样式化 SVG、MathML、XML 或 HTML,它们各自拥有不同的命名空间,或者一个文档包含多个命名空间。

此模块中定义的@namespace at-rule 使得区分不同命名空间中同名元素成为可能。元素标签名并非单一语言所独有。例如,<a>元素不限于 HTML。你可能希望以不同于 HTML 中链接的方式来样式化 SVG 中的<a>元素。你可能还希望确保querySelectorAll("a")选择正确类型的元素。命名空间可以提供帮助。

@namespace规则用于声明默认命名空间和将命名空间绑定到命名空间前缀。命名空间模块还定义了使用这些前缀来表示命名空间限定名称的语法。仅此而已。名称的含义或名称是否有效取决于上下文和宿主语言。