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