Propriété CSS row-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é CSS row-rule-break définit le comportement de rupture des règles de ligne en segments lorsque les règles de ligne intersectent les espaces entre les colonnes.
Exemple interactif
row-rule-break: none;
row-rule-break: normal;
row-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 lavender;
gap: 15px;
}
#example-element i {
padding: 5px;
}
Syntaxe
/* Valeurs avec un mot-clé */
row-rule-break: none;
row-rule-break: normal;
row-rule-break: intersection;
/* Valeurs globales */
row-rule-break: inherit;
row-rule-break: initial;
row-rule-break: revert;
row-rule-break: revert-layer;
row-rule-break: unset;
Valeurs
Cette propriété est définie comme un mot-clé unique parmi la liste suivante :
none-
Il n'y a pas de rupture dans les règles de ligne lorsqu'elles intersectent les espaces entre les colonnes ; au contraire, une règle de ligne continue est peinte sur toute la largeur du conteneur, d'un bord à l'autre.
normal-
Dans les conteneurs de type grille et flexibles, se comporte comme
none. Dans les mises en page multi-colonnes, se comporte commenone. Il s'agit de la valeur par défaut. intersection-
Les règles de ligne se rompent toujours lorsqu'elles intersectent les espaces entre les colonnes, les segments de règle de ligne commençant et se terminant aux bords du conteneur et des espaces.
Description
La propriété row-rule-break définit si les règles de ligne doivent ou non être rompues en segments lorsqu'elles intersectent les espaces entre les colonnes.
Les règles de ligne sont peintes dans un espace de ligne sous forme d'un ou plusieurs segments, les segments se produisant entre les éléments de grille adjacents dans des lignes séparées, entre les éléments flexibles ou les lignes flexibles, en fonction de la flex-direction dans les mises en page flexibles, ou dans les espaces entre les lignes adjacentes de colonnes dans les mises en page multi-colonnes lorsque column-height crée plusieurs lignes de colonnes.
La propriété row-rule-break ne détermine que si la rupture se produit. Par défaut, la rupture, ou l'espace, entre les segments de règle de ligne est la largeur de l'espace entre les colonnes, chaque segment commençant et se terminant au bord de l'espace (ou au bord du conteneur). Si l'espace est 0, cette rupture peut ne pas être visible. Les positions finales peuvent être contrôlées avec les propriétés row-rule-inset.
Si row-rule-break est défini sur none, il n'y a pas de rupture, la ligne de règle de ligne est continue, et toutes les valeurs de row-rule-inset n'affectent que la règle de ligne sur le bord gauche et droit du conteneur. Lorsqu'il y a des ruptures, les propriétés row-rule-inset affectent le début et la fin de chaque segment de règle de ligne.
La propriété row-rule-break, ainsi que la propriété column-rule-break, peut être définie en utilisant la propriété raccourcie rule-break.
Le fait qu'une règle de ligne soit par défaut composée d'un seul segment continu ou de segments qui se rompent lorsqu'ils intersectent les espaces entre les colonnes dépend du type de conteneur.
Conteneurs de grille
Dans les conteneurs de grille, par défaut, les segments de règle de ligne continuent à travers les intersections « croisées » visibles. La définition de row-rule-break: intersection force les segments à se rompre à chaque espace entre les colonnes, là où ils se croisent autrement.
Par défaut, il n'y a pas de rupture de règle de ligne. Cochez la case pour définir row-rule-break sur intersection, ce qui fait que les règles continues se rompent à chaque intersection « croisée ». Par défaut, la rupture entre les segments correspond à la largeur de l'espacement de colonne column-gap.
Conteneurs flexibles
Dans les boîtes flexibles, lorsque la flex-direction est row ou row-reverse dans les modes d'écriture horizontaux, la règle de ligne est continue, 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, les segments de ligne commençant et se terminant au bord des espaces de colonne.
Dans les modes d'écriture horizontaux, lorsque la valeur est row ou row-reverse, la règle de ligne est continue par défaut, tandis qu'avec column ou column-reverse, la règle de ligne se casse à chaque espace de colonne. La définition de row-rule-break sur intersection n'affecte que les règles de ligne dans les scénarios row et row-reverse.
Conteneurs multi-colonnes
Dans les conteneurs multi-colonnes, le comportement par défaut normal se comporte de la même manière que none.
Si vous sélectionnez intersection, la règle de ligne se divise en segments chaque fois qu'elle atteint un espace entre les colonnes, chaque segment commençant et se terminant au bord de l'espace. Les positions de début et de fin peuvent être modifiées avec les propriétés row-rule-inset.
Définition formelle
Valeur introuvable dans la base de donnéesSyntaxe formelle
row-rule-break =
none |
normal |
intersection
Exemples
>Utilisation simple
Dans cet exemple, nous utilisons la propriété row-rule-break pour diviser chaque segment de règle dans un conteneur de grille afin que des segments de règle de ligne soient créés entre les espaces des colonnes. La modification de la propriété column-gap change la taille des segments.
HTML
Nous créons une liste de 50 éléments et un curseur pour modifier la largeur de l'espace entre les colonnes. La plupart du HTML est masqué pour plus de concision.
<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 pour accueillir nos règles de colonne et de ligne solides de 20px. Enfin, nous définissons les règles de ligne pour qu'elles se divisent en segments à chaque intersection.
ul {
display: grid;
grid-template-columns: repeat(8, 1fr);
list-style-type: none;
gap: 20px;
row-rule: 10px solid olive;
column-rule: 10px solid palegoldenrod;
row-rule-break: intersection;
}
Le reste du CSS est masqué pour plus de concision.
Résultat
Agrandissez les espaces entre les colonnes et notez comment les ruptures entre les segments de ligne s'agrandissent. Réduisez la largeur de l'espace entre les colonnes à 0px et remarquez comment la décoration des lignes semble continue. Ce n'est pas le cas ! L'espace de 0px entre les segments peut ne pas être visible, mais les segments commencent et se terminent toujours à l'espace, donc tous les décalages définis avec les propriétés row-rule-inset sont toujours appliqués.
Spécifications
| Spécification |
|---|
| CSS Gaps Module Level 1> # propdef-row-rule-break> |
Compatibilité des navigateurs
Voir aussi
- La propriété
column-rule-break - La propriété raccourcie
rule-break - La propriété raccourcie
rule-inset - La propriété
rule-overlap - La propriété
rule-visibility-items - La propriété raccourcie
rule - Le module des espacements CSS