Break-inside - Propriété CSS
Résumé des caractéristiques de la propriété break-inside
auto
| avoid
| avoid-column
| avoid-page
| avoid-region
auto
break-inside
passe d'une valeur à l'autre sans transition. (1)(1) Dans la pratique l'animation n'est pas gérée (voir plus bas).
Schéma de la syntaxe de break-inside
.
break-inside
.Cliquez sur les liens du schéma pour plus de précisons sur les valeurs.
Description de la propriété break-inside
.
La propriété break-inside
indique si l'élément peut être fragmenté sur plusieurs colonnes, plusieurs pages, etc.
break-inside
, utilisée en combinaison avec les propriétés break-before
et
break-after
, permet de gérer finement les sauts de pages, de régions ou de colonnes.
L'obligation ou l'interdiction d'un saut est définie par ces trois propriétés.
Sur l'exemple ci-dessous, le saut entre les éléments 1 et 2 est défini par :
- La propriété
break-inside
de l'élément parent. - La propriété
break-after
de l'élément 1. - La propriété
break-before
de l'élément 2.
S'il y a contradiction entre les trois propriétés, la dernière rencontrée écrase les précédentes :
break-before
de l'élément 2 est donc prioritaire sur break-after
de l'élément 1, qui est lui-même prioritaire sur
break-inside
du parent.
La résolution des sauts s'effectue de la façon suivante :
- Le navigateur effectue d'abord les sauts forcés.
- Il détermine ensuite les sauts rendus nécessaires par le mangue de place, en respectant les interdictions de saut éventuelles.
break-inside
remplace l'ancienne propriété page-break-inside
qui ne devrait plus être utilisée.
Valeurs pour break-inside
.
- break-inside: auto;
Valeur par défaut. Les ruptures sont permises, aucune contrainte n'est appliquée.
- break-inside: avoid;
Dans la mesure du possible, l'élément ne doit pas être fragmenté. S'il ne tient pas dans la colonne ou dans la page il sera rejeté à la colonne ou la page suivante. Si sa hauteur est supérieure à celle de la colonne ou de la page, il peut cependant être fragmenté (pas moyen de faire autrement).
- break-inside: avoid-page;
Dans la mesure du possible, l'élément ne doit pas être fragmenté sur plusieurs pages. Cette valeur autorise la fragmentation sur plusieurs colonnes ou régions. Si l'élément ne tient pas dans ce qui reste de page il sera rejeté à la page suivante. L'élément peut cependant se retrouver fragmenté si sa hauteur est supérieure à celle de la page.
- break-inside: avoid-column;
Dans la mesure du possible, l'élément ne doit pas être fragmenté sur plusieurs colonnes, ce qui implique également qu'il ne doit pas être fragmenté sur plusieurs pages. Si l'élément ne tient pas dans la place restante en bas de la colonne, il est rejeté en haut de la colonne suivante. L'élément peut cependant être fragmenté si sa hauteur est supérieure à celle de la colonne.
Pour plus de détails sur la mise en page sur plusieurs colonnes, consultez la page sur les multi-colonage.
- break-inside: avoid-region;
Dans la mesure du possible, l'élément ne doit pas être fragmenté sur plusieurs régions, ce qui implique également qu'il ne doit pas être fragmenté sur plusieurs pages. Si l'élément ne tient pas dans la région, il est rejeté à la région suivante. L'élément peut cependant être fragmenté si sa hauteur est supérieure à celle de la région.
Vous trouverez plus de détails sur la mise en page par régions en consultant le tutoriel sur les régions (flux nommés).
- break-inside: initial; (
auto
) break-inside: inherit; break-inside: revert; break-inside: revertLayer; break-inside: unset;Les valeurs communes sont présentées sur ces pages :
initial
,inherit
,revert
,revert-layer
,unset
.
Exemple d'animation de break-inside
.
La norme prévoit la possibilité d'animer break-inside
, mais cela ne semble fonctionner sur aucun navigateur.
Ce serait de toute façon complètement inutile dans le cas des impressions (valeur avoid-page
)
et peu intéressant dans le cas des mises en page en colonnes ou par régions.
De plus cela nécessiterait des calculs très lourds puisqu'il faudrait recalculer la mise en page complète à chaque étape de l'animation.
Exemple interactif avec la propriété break-inside
.
La valeur choisie est appliquée sur chacun des paragraphes à l'intérieur du cadre de démonstration, et non pas sur le cadre container.
Vous pouvez redimensionner ce dernier pour observer l'effet de la propriété break-inside
.
Compatibilité des navigateurs avec break-inside
.
La gestion des sauts de colonnes et des sauts de pages ne présente plus trop de problèmes sur les navigateurs actuels. Mais la gestion des régions n'est encore prise en charge par aucun des navigateurs (2025).
break-inside
dans le contexte des pages imprimées.avoid-page
pour la propriété break-inside
dans le contexte de pages imprimées (éviter les sauts de page).break-inside
dans le contexte d'une mise en page en colonnes (éviter le saut de colonnes).break-inside
(pages)
avoid-page
(pages)
break-inside
(colonnes)
Navigateurs sur ordinateurs :
Navigateurs sur mobiles :
Navigateurs obsolètes ou marginaux :

Internet Explorer

KaiOS Browser

Opéra Mobile

Opéra

Firefox pour Androïd

Samsung Internet

Chrome

Edge

Firefox

Androïd Brower

Chrome pour Androïd

Baidu Browser

QQ Browser

Safari

Safari sur IOS

UC Browser pour Androïd

Opéra mini
Histoire de la propriété break-inside
.
-
Module CSS - Mise en page multi-colonnes - Niveau 1
Définition de la propriétébreak-inside
dans le contexte d'une mise en page multi-colonnes23 Juin 1999Document de travail.17 Décembre 2009Candidat à la recommandation. -
Module CSS - Fragmentation - Niveau 3
Introduction de la propriétébreak-inside
pour la gestion des sauts de colonne, de page, ou de région.28 Février 2012Document de travail.14 Janvier 2016Candidat à la recommandation. -
Module CSS - Fragmentation - Niveau 4
Pas de changement concernant la propriétébreak-inside
.18 Décembre 2018Document de travail.
Voir aussi, dans la spécification "Module CSS - Fragmentation".
La spécification CSS Fragmentation Module regroupe tout ce qui concerne la fragmentation : sauts de page, de colonnes, segmentation d'un élément sur deux pages ou deux colonnes, etc.