Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

La propriété CSS contain permet d'indiquer qu'un élément, ainsi que son contenu, sont, autant que possible, indépendants du reste de l'arbre du document. Cela permet au navigateur de recalculer la disposition, la mise en forme, la taille, les peintures ou toute combinaison de ces éléments pour une zone donnée du DOM plutôt que pour la page complète.

/* Valeurs avec un mot-clé */
contain: none;
contain: strict;
contain: content;
contain: size;
contain: layout;
contain: style;
contain: paint;

/* Valeurs globales */
contain: inherit;
contain: initial;
contain: unset;

Cette propriété s'avère utile pour les pages qui contiennent de nombreux composants indépendants et permet de limiter la portée des règles sur le reste de la page.

Valeur initialenone
Applicabilitétous les éléments
Héritéenon
Médiatous
Valeur calculéecomme spécifié
Type d'animationdiscrète
Ordre canoniqueselon la grammaire

Syntaxe

Valeurs

none
L'élément est affiché normalement, aucun confinement n'est appliqué.
strict
Toutes les règles possibles de confinement sont appliquées. Cela correspond à contain: size layout style paint.
content
Toutes les règles de confinement, à l'exception de celles pour la taille, sont appliquées à l'élément. Cela est équivalent à contain: layout style paint.
size
Cette valeur indique que l'élément peut être dimensionné sans avoir à examiner les éléments descendants pour les modifications de la taille.
layout
Cette valeur indique qu'aucun élément en dehors de l'élément, ne peut impacter sa disposition interne et réciproquement.
style
Cette valeur indique que les propriétés ayant un effet sur un un élément et ses descendants voire plus sont bien limitées à l'élément englobant.
paint
Cette valeur indique que les éléments descendants de l'élément ne sont pas affichés en dehors de ses limites. Si un élément est en dehors de l'écran ou n'est pas visible, cette valeur assure que les éléments descendants ne sont pas visibles non plus.

Syntaxe formelle

none | strict | content | [ size || layout || style || paint ]

Spécifications

Spécification État Commentaires
CSS Containment Module Level 1 Candidat au statut de recommandation Définition initiale.

Compatibilité des navigateurs

Nous convertissons les données de compatibilité dans un format JSON. Ce tableau de compatibilité utilise encore l'ancien format car nous n'avons pas encore converti les données qu'il contient. Vous pouvez nous aider en contribuant !
Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support simple 52.0 Pas de support[1] ? 40 ?
Fonctionnalité Webview Android Chrome pour Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support simple 52.0 52.0 Pas de support[1] ? 40 ?

[1] Cette fonctionnalité est implémentée via la préférence layout.css.contain.enabled qui vaut false par défaut. Seules les valeurs none et paint sont prises en charge actuellement (cf. bug 1170781). Voir bug 1150081 pour le statut global de l'implémentation.

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight, ebrehault, vdesdoigts
Dernière mise à jour par : SphinxKnight,