@import - Directive CSS

@import

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

Description rapide
Importation d'une feuille de styles, avec la possibilité de choisir une couche de cascade.
Statut
Standard
Pourcentages
Ne s'appliquent pas.
Module W3C
Module CSS - Cascade et héritage
 🡇  
 🡅  
Statut du document: CR (document candidat à la recommandation)

Statut du document: CR (document candidat à la recommandation)

Statut du document: REC (recommandation)

Statut du document: REC (recommandation)

Description de la directive @import.

@import est une directive du langage CSS, qui permet d'insérer des styles à partir d'une autre feuille de styles, avec un double objectif :

  • Faciliter l'organisation du code CSS en le répartissant sur plusieurs fichiers.
  • Optimiser le code en ne chargeant que les styles nécessaires. La conditions support() ou la liste de médias sont là pour ça.

La directive @import doit se trouver avant la définition des styles, donc au début de la feuille de styles, mais après d'éventuelles directives @charset ou @layer.
@import ne peut pas être imbriqué dans une autre directive.

Les styles importés sont traités exactement comme s'ils avaient été écrits à l'endroit où se trouve la directive @import. Si des chemins relatifs figurent dans la feuille de styles importée, ils seront résolus par rapport à l'emplacement du fichier où figure @import.

Syntaxes de la directive @import.

  • @import url('chemin/fichier.css'); @import 'chemin/fichier.css';

    Une URL, désignant le fichier de styles à charger, ou une chaîne de caractères (entre apostrophes ou guillemets). La fonction url() est donc facultative.

  • @import url('chemin/fichier.css') print; @import url('chemin/fichier.css') print, screen and (min-width:900px);

    Le nom du fichier, peut être suivi d'une liste de médias, avec éventuellement des critères sur les caractéristiques du terminal (média-queries). Reportez vous à la directive @media pour une description plus complète des médias autorisés et de la syntaxe des média-queries.

    Cette option vise à optimiser les chargements, le navigateur ne télécharge que les fichiers correspondant au média utilisé.

  • @import url('chemin/fichier.css') layer(nom);

    L'indication d'une couche de cascade (layer) permet d'importer des styles dans cette couche particulière.

    Pour d'autres informations, reportez vous au tutoriel sur les couches de cascade.

  • @import url('chemin/fichier.css') supports( ... );

    Cette syntaxe permet d'introduire une condition sur l'importation de la feuille de styles. Cette condition peut faire référence à des fonctionnalités de CSS, des sélecteurs, des technologies, etc. Reportez-vous à la syntaxe de @supports pour plus d'informations sur ce que vous pouvez mettre dans les parenthèses.

    Exemple : la syntaxe ci-dessous n'importe le fichier compat-styles.css que sur les navigateurs qui ne traitent pas les conteneurs grille.

    @import url('styles/compat-styles.css') supports( not (display:grid) );

Compatibilité des navigateurs avec la directive @import.

La directive @import est globalement bien reconnue, mais il reste des problèmes de compatibilité avec les nouvelles fonctionnalités.

Colonne 1
Support par les navigateurs de la directive @import pour importer une feuille de styles (dans le CSS).
Colonne 2
Support par les navigateurs de la fonction layer() utilisée avec la directive @import.
Colonne 3
Support par les navigateurs de la fonction supports() utilisées avec la directive @import.
1
Directive
@import
2
Couches
de cascade
3
Fonction
supports()
Estimation de la prise en charge globale.
96%
95%
89%

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

Chrome

Edge

Chrome pour Androïd

Androïd Brower

Firefox pour Androïd

Firefox

Safari sur IOS

KaiOS Browser

Opéra

Safari

Opéra mini

Évolution de la directive @import.

La directive @import a peu évolué depuis sa création, si ce n'est la possibilité récente d'importer des styles dans une couche de cascade choisie. Reportez-vous à la directive @layer pour plus de précisions sur les couches de cascade.

  • CSS 2.1 - Spécification concernant les feuilles de styles en cascade - Révision 1

    Ce niveau 2 de la spécification décrit le mécanisme des styles en cascade de CSS. Ce langage est utilisé pour formater les documents HTML ou XML. Il prend en charge les feuilles de style spécifiques aux médias afin que les auteurs puissent adapter la présentation de leurs documents aux navigateurs visuels, aux dispositifs auditifs, aux imprimantes, aux appareils braille, aux appareils portables, etc.

    Concernant @import Introduction de la directive @import dans la spécification CSS.
    WD
    04 Novembre 1997
    Document de travail.
    PR
    24 Mars 1998
    Proposé à la recommandation.
    REC
    11 Mai 1998
    Recommandation.
  • Module CSS - Cascade et héritage - Niveau 3

    Ce module de spécification introduit les valeurs initial et unset, ainsi que la propriété résumée all.

    Concernant @import Pas de changement concernant la directive @import.
    WD
    13 Juillet 2001
    Document de travail.
    CR
    03 Octobre 2013
    Candidat à la recommandation.
    PR
    22 Décembre 2020
    Proposé à la recommandation.
    REC
    11 Février 2021
    Recommandation.
  • Module CSS - Cascade et héritage - Niveau 4

    Ce module de spécification introduit la valeur revert.

    Concernant @import Pas de changement concernant la directive @import.
    WD
    21 Avril 2015
    Document de travail.
    CR
    14 Janvier 2016
    Candidat à la recommandation.
    PR
    REC
  • Module CSS - Cascade et héritage - Niveau 5

    Ce module de spécification introduit la notion de couches de styles, la directive @layer, et la valeur revert-layer.

    Concernant @import La directive @import permet d'importer des styles dans une couche de cascade particulière.
    WD
    19 Janvier 2021
    Document de travail.
    CR
    13 Janvier 2022
    Candidat à la recommandation.
    PR
    REC

Voir aussi, au sujet de la gestion des feuilles de styles.

La spécification "Module CSS - Cascade et héritage" (Module CSS - Cascade et héritage) regroupe les outils disponibles pour organiser les styles dans les cas complexes (nombreuses feuilles de styles, cascade d'héritages volumineuse, etc.

Propriétés :

all
Initialisation de toutes les propriétés.

Directives :

@import
Importation d'une feuille de styles, avec la possibilité de choisir une couche de cascade.
@layer
Définit les couches de cascade (layer) pour faciliter la gestion des priorités entre les règles CSS.
@scope
Limite la portée des instructions englobées par cette directive.

Valeurs:

!important
Rend une règle prioritaire sur toutes les autres.
inherit
Donne à une propriété la même valeur que celle de l'élément parent.
initial
Redonne à une propriété sa valeur initiale.
revert
Donne à une propriété la valeur définie par le navigateur.
revert-layer
Rétablit la valeur d'une propriété à la valeur qu'elle avait à la couche précédente.
unset
Donne à une propriété la valeur qu'elle aurait eu si aucun style ne l'avait changée.