@namespace - Directive CSS
Résumé des caractéristiques de la directive @namespace
Description de la directive @namespace
.
La directive @namespace
est surtout utile dans le cas de document composites faisant intervenir du SVG, du XML, etc.
Elle définit l'espace de nom par défaut, et peut également définir un espace de noms et l'associer à un identifiant.
Exemple :>
@namespace svg 'http://www.w3.org/2000/svg';
Il est ensuite possible d'écrire des styles spécifiques aux balises SVG. Notez le caractère |
qui sépare l'espace de nom du nom
de la balise. Il s'obtient par ALGR 6
sur un clavier Windows.
svg|circle { ... } /* La balise circle de SVG */
*|path { ... } /* Toutes les balises path */
svg|* { ... } /* Toutes les balises de SVG */
Syntaxes de la directive @namespace
.
- @namespace: 'url'; @namespace: url('url');
Définit l'espace de nom par défaut.
- @namespace: name 'url'; @namespace: name url('url');
Définit l'espace de nom par défaut et l'associe au nom
name
.
Exemples d'utilisation de la directive @namespace
.
Le cercle ci-dessous est tracé en SVG, tandis que la racine carrée a été tracée en MathML. Afin d'éviter tout conflit de nom entre ces deux langages les espaces de nom ont été utilisés. Notez bien que dans ce cas, ce n'est pas obligatoire puisque les balises sont bien séparées entre SVG et MathML.
Compatibilité des navigateurs avec la directive @namespace
.
@namespace
pour les définir en CSS.@namespace
Navigateurs sur ordinateurs :
Navigateurs sur mobiles :
Navigateurs obsolètes ou marginaux :

Internet Explorer

UC Browser pour Androïd

Opéra Mobile

QQ Browser

Baidu Browser

Samsung Internet

Opéra

Firefox pour Androïd

Chrome

Edge

Safari

Firefox

Chrome pour Androïd

Safari sur IOS

Androïd Brower

KaiOS Browser

Opéra mini
Évolution de la directive @namespace
.
-
CSS module - Espaces de noms
Première présentation de la directive@namespace
pour définir un espace de noms en CSS.29 Septembre 2011Recommandation.
Voir aussi, en rapport avec les espaces de noms.
La directive @namespace
est la seule qui soit définie dans le module CSS Namespaces Module Level 3.