@namespace - Directive CSS

@namespace

Résumé des caractéristiques de la directive @namespace

Description rapide
Permet de définir des espaces de noms en CSS.
Statut
Standard
Utilisable sur
XML, tout langage à balises non prédéfinies.
Module W3C
CSS module - Espaces de noms
Références (W3C)
Statut du document: REC (recommandation)

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.

3

Compatibilité des navigateurs avec la directive @namespace.

Colonne 1
Support des espaces de noms et de la directive @namespace pour les définir en CSS.
1
Directive
@namespace
Estimation de la prise en charge globale.
97%

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.
    REC
    29 Septembre 2011
    Recommandation.

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.