This page is In Progress

Notice: The WebPlatform project, supported by various stewards between 2012 and 2015, has been discontinued. This site is now available on github.

@namespace

Summary

Declares the default namespace and binds a namespace to a namespace prefix.

Examples

The default namespace is applied to names that do not have an explicit namespace component. The following rule declares a default namespace.

@namespace "http://www.w3.org/1999/xhtml";

If you declare an @namespace rule with a prefix, you can use the prefix in namespace-qualified names. For example, consider the following namespace declaration for a namespace prfx.

@namespace prfx "http://prfx.contoso.com";

Based on the previous declaration, the following selector matches E elements in the namespace that the prfx prefix refers to.

prfx|E

The following code example creates two namespace prefixes. First, p elements in any namespace are colored red. Any p elements in the prfx namespace are then recolored blue, and p elements in the msft namespace are recolored green.

@namespace prfx "http://prfx.contoso.com";
@namespace msft "http://msft.example.com";
 p {background-color:red;}
prfx|p {background-color:blue;}
msft|p {background-color:green;}

The following code example styles a SVG element. By using the namespace and declaration from this example, all circles that are created with SVG are given a red fill.

@namespace svg "http://www.w3.org/2000/svg";
svg|circle {fill:red;}

Notes

Remarks

The @namespace rule was introduced in Windows Internet Explorer 9. The scope of an @namespace rule is the style sheet that it is declared in. You must declare an @namespace rule after any @charset or @import rules.

Syntax

@namespace prfx? sUrl

Parameters

prfx
Optional. A String value that specifies a namespace prefix.
sUrl
A URL Stringvalue that specifies a namespace name.

Related specifications

CSS Namespaces Module
W3C Recommendation

See also

Related articles

Syntax

Attributions