Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Propriété CSS rule-break

Disponibilité limitée

Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.

Vous voulez une meilleure prise en charge pour cette fonctionnalité ? Dites-nous pourquoi.

Expérimental: Il s'agit d'une technologie expérimentale.
Vérifiez attentivement le tableau de compatibilité des navigateurs avant de l'utiliser en production.

La propriété raccourcie CSS rule-break définit le comportement de rupture des règles de colonne et de ligne en segments là où les lignes et les espaces de colonne se croisent, en définissant column-rule-break et row-rule-break sur la même valeur.

Exemple interactif

rule-break: none;
rule-break: normal;
rule-break: intersection;
<section id="default-example">
  <div id="example-element">
    <i>A</i>
    <i>B</i>
    <i>C</i>
    <i>D</i>
    <i>E</i>
    <i>F</i>
    <i>G</i>
    <i>H</i>
    <i>I</i>
    <i>J</i>
    <i>K</i>
    <i>L</i>
    <i>M</i>
    <i>N</i>
    <i>O</i>
    <i>P</i>
    <i>Q</i>
    <i>R</i>
    <i>S</i>
    <i>T</i>
    <i>U</i>
    <i>V</i>
    <i>W</i>
    <i>X</i>
    <i>Y</i>
    <i>Z</i>
  </div>
</section>
#example-element {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  row-rule: solid thick orange;
  column-rule: solid thick purple;
  gap: 10px;
}
#example-element i {
  padding: 5px;
}

Propriétés constitutives

Cette propriété est un raccourci pour les propriétés CSS suivantes :

Syntaxe

css
/* Valeurs avec un mot-clé */
rule-break: none;
rule-break: normal;
rule-break: intersection;

/* Valeurs globales */
rule-break: inherit;
rule-break: initial;
rule-break: revert;
rule-break: revert-layer;
rule-break: unset;

Valeurs

Cette propriété est définie comme un seul mot-clé parmi la liste suivante :

none

Il n'y a pas de coupures là où les règles de ligne et de colonne se croisent ; à la place, une seule décoration continue est peinte d'une extrémité à l'autre de chaque espace.

normal

Dans les conteneurs flexibles et en grille, se comporte comme none. Dans les conteneurs multi-colonnes, column-rule-break se comporte comme intersection et row-rule-break se comporte comme none. C'est la valeur par défaut.

intersection

Les règles se cassent toujours lorsqu'elles intersectent un espace, les segments de règle commençant et se terminant aux bords du conteneur et de l'espace.

Description

La propriété rule-break est utilisée pour définir le comportement de rupture des règles en segments lorsqu'elles traversent des espaces.

Les décorations d'espacement sont peintes à l'intérieur d'un espace sous forme d'un ou plusieurs segments de décoration d'espacement, les segments se produisant entre deux éléments adjacents. Selon le type de conteneur, par défaut, ces segments peuvent soit se terminer au bord d'un espace, soit la règle de colonne et de ligne peut s'étendre sur toute la hauteur et la largeur du conteneur.

Lorsqu'il y a une rupture dans une règle, par défaut, les segments commencent et se terminent au bord des espaces. Si la taille de l'espace est 0, la rupture peut ne pas être visible. La propriété rule-break détermine si la rupture se produit. Vous pouvez contrôler la taille de la rupture à la fin de chaque segment avec les propriétés rule-inset. Lorsqu'il n'y a pas de ruptures et que la ligne est continue, les propriétés rule-inset n'affectent que la règle aux bords de début et de fin du conteneur. Lorsqu'il y a des ruptures, les propriétés rule-inset affectent le début et la fin de chaque segment de règle.

Le fait qu'une règle soit par défaut composée d'un seul segment continu ou de segments qui se cassent lorsqu'ils intersectent des espaces dépend du type de conteneur.

Conteneurs en grille

Dans les conteneurs en grille, par défaut, les segments de règle continuent à travers les intersections « croisées » visibles. La définition de rule-break: intersection force les segments à se casser là où ils se croisent autrement.

Cochez la case pour définir le rule-break sur intersection, ce qui fait que les règles continues se cassent à chaque intersection « croisée ».

Conteneurs flexibles

Dans les boîtes flexibles, lorsque la flex-direction est row ou row-reverse, la règle de ligne est continue, avec les segments de colonne commençant et se terminant au bord des espaces de ligne. Lorsque la flex-direction est column ou column-reverse, la règle de colonne est continue, avec les segments de ligne commençant et se terminant au bord des espaces de colonne.

Notez comment, selon la flex-direction, les règles de colonne ou de ligne sont continues par défaut. Si vous définissez le rule-break sur intersection, ces règles continues se rompent à chaque intersection.

Conteneurs multi-colonnes

Dans les conteneurs multi-colonnes, le comportement par défaut normal diffère entre les règles de ligne et les règles de colonne. Les segments de règle de colonne commencent et se terminent lorsqu'ils intersectent un écart de ligne, se comportant comme column-rule-break: intersection, tandis que les règles de ligne ne se rompent pas lorsqu'elles intersectent un écart de colonne, se comportant comme row-rule-break: none.

Cochez les boutons radio pour chaque valeur afin de voir l'effet de la valeur.

Définition formelle

Valeur introuvable dans la base de données

Syntaxe formelle

rule-break = 
<'column-rule-break'>

<column-rule-break> =
none |
normal |
intersection

Exemples

Utilisation simple

Dans cet exemple, nous utilisons la propriété rule-break pour casser chaque segment de règle dans un conteneur de grille afin qu'aucune règle ne se croise.

HTML

Nous créons une liste de 50 éléments. La plupart du HTML est masqué pour plus de concision.

html
<ul>
  <li>1</li>
  <li>2</li>
  …
  <li>49</li>
  <li>50</li>
</ul>

CSS

Nous définissons la liste non ordonnée comme un conteneur à 8 colonnes, créant des colonnes et des lignes avec la propriété grid-template-columns et en définissant list-style-type sur none pour supprimer les puces. Nous incluons un gap de 20px pour fournir suffisamment d'espace entre les colonnes et les lignes afin d'accueillir nos règles de colonne et de ligne solides de 20px. Enfin, nous définissons les segments de règle pour qu'ils se cassent au lieu de s'intersecter.

css
ul {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  list-style-type: none;
  gap: 20px;

  row-rule: 20px solid palegoldenrod;
  column-rule: 20px solid olive;

  rule-break: intersection;
}

Le reste du CSS est masqué pour plus de concision.

Résultat

Spécifications

Spécification
CSS Gaps Module Level 1
# propdef-rule-break

Compatibilité des navigateurs

Voir aussi