Propriété CSS rule-style
Disponibilité limitée
Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.
Want more browser support for this feature? Tell us why.
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 rule-style définit le style des lignes tracées entre les colonnes et les lignes dans les mises en page multi-colonnes, grille, flexibles et multi-colonnes, en définissant le style des règles de colonnes et de lignes à la même valeur.
Exemple interactif
rule-style: solid;
rule-style: dashed, dotted;
rule-style: repeat(2, inset, dashed, double);
rule-style: solid, repeat(auto, double), solid;
rule-style: hidden;
<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);
rule: solid rebeccapurple 7px;
gap: 7px;
}
#example-element i {
padding: 5px;
}
Propriétés constitutives
Cette propriété est un raccourci pour les propriétés CSS suivantes :
Syntaxe
/* Une seule valeur */
rule-style: none;
rule-style: hidden;
rule-style: dotted;
rule-style: dashed;
rule-style: solid;
rule-style: double;
rule-style: groove;
rule-style: ridge;
rule-style: inset;
rule-style: outset;
/* Plusieurs valeurs */
rule-style: groove, double, dashed;
rule-style: solid, repeat(5, ridge), solid;
rule-style: dotted, repeat(auto, inset, outset), dotted;
/* Valeurs globales */
rule-style: inherit;
rule-style: initial;
rule-style: revert;
rule-style: revert-layer;
rule-style: unset;
Valeurs
La propriété rule-style accepte une liste de valeurs séparées par des virgules, y compris :
<line-style>-
Un style de ligne (
<line-style>) : l'une des valeursnone,hidden,dotted,dashed,solid,double,groove,ridge,insetououtset. La valeur par défaut estnone. <repeat-line-style>-
Une fonction
repeat(), avec le premier argument étant un entier (<integer>) de1ou plus, et les arguments suivants étant des valeurs<line-style>. L'entier définit combien de fois les valeurs<line-style>doivent être répétées. <auto-repeat-line-style>-
Une fonction
repeat(), avecautocomme premier argument et une ou plusieurs valeurs<line-style>comme arguments suivants. Les valeurs<line-style>fournies sont répétées autant de fois que nécessaire pour remplir les valeurs de toutes les règles qui ne sont pas spécifiquement définies par d'autres composants de la valeur de la propriété.
Description
La propriété rule-style définit le style des lignes de règles de colonnes et de lignes tracées dans les espaces entre les colonnes et les lignes dans les conteneurs multi-colonnes, flexibles et grilles avec plus d'une colonne ou d'une ligne.
La propriété rule-style définit à la même valeur les propriétés column-rule-style et row-rule-style.
La propriété rule-style, ainsi que les propriétés rule-color et rule-width, peut également être définie à l'aide du raccourci rule.
La valeur est une liste de composants séparés par des virgules, qui peut inclure des types <line-style>, <repeat-line-style> et <auto-repeat-line-style>.
Si la valeur de la propriété n'est seulement un style de ligne (<line-style>), toutes les règles de colonnes ont ce style. Si nous déclarons ce qui suit, toutes les règles de colonnes et de lignes sont double :
rule-style: double;
Lorsque plusieurs valeurs <line-style> sont déclarées, elles sont appliquées aux règles dans l'ordre défini. S'il y a plus de règles que de valeurs <line-style>, la liste des styles de ligne est répétée jusqu'à ce que chaque règle de colonne et de ligne a un style. Par exemple, si nous déclarons ce qui suit, toutes les règles impaires ont immédiatement le style double et toutes les règles paires ont immédiatement le style inset.
rule-style: double, inset;
Styles de ligne répétés
La fonction repeat(), avec un entier de 1 ou plus comme premier argument, peut être utilisée pour répéter une liste valide de valeurs CSS <line-style> passées comme arguments suivants le nombre de fois défini. Cela permet de répéter le même style un nombre défini de fois sans répéter la même valeur. Vous pouvez inclure des valeurs de mot-clé <line-style> ou des propriétés personnalisées qui se résolvent en un <line-style> valide. L'utilisation de repeat() peut rendre les valeurs plus faciles à écrire, permettant d'écrire des motifs récurrents en utilisant une seule fonction, quel que soit le nombre de colonnes ou de lignes. Les déclarations suivantes sont équivalentes :
rule-style: solid, outset, inset, outset, inset, outset, inset;
rule-style: solid, repeat(3, outset, inset);
Cela crée une liste de sept styles. Si le nombre de styles dans la liste de styles de la valeur rule-style dépasse le nombre d'espaces entre les colonnes ou les lignes, les valeurs de style excédentaires sont ignorées. Si le conteneur a trois colonnes ou lignes, la règle dans le premier espace est solid et la deuxième outset.
Si le nombre d'espaces entre les colonnes ou les lignes est supérieur au nombre de styles, la liste des styles est répétée. Si le conteneur a 8, 15, 22 ou 29 colonnes ou lignes, cette séquence de styles est répétée une, deux, trois ou quatre fois, respectivement, la dernière règle étant inset.
Répétition automatique des styles de ligne
La fonction repeat(), avec auto comme premier argument au lieu d'un entier positif, peut être utilisée pour répéter une liste valide de valeurs CSS <line-style> passées comme arguments suivants autant de fois que nécessaire pour remplir les valeurs de toutes les règles qui ne sont pas spécifiquement définies par d'autres composants de la valeur de la propriété.
Le mot-clé auto dans la fonction repeat() crée un répéteur automatique qui remplit les valeurs des règles de colonnes et de lignes qui ne reçoivent pas autrement de valeurs provenant d'autres parties de la liste, empêchant la liste d'être répétée. Une seule occurrence de repeat(auto, <line-style>) est autorisée dans une valeur rule-style.
rule-style: solid, repeat(auto, dotted), solid;
Dans ce cas, peu importe si le conteneur a 8, 15, 22 ou 29 colonnes ou lignes ; la première et la dernière règle sont toujours solid, et toutes les autres règles sont dotted. S'il n'y a que 2 ou 3 colonnes et lignes, il n'y a pas de règles dotted.
Définition formelle
Valeur introuvable dans la base de donnéesSyntaxe formelle
rule-style =
<'column-rule-style'>
<column-rule-style> =
<line-style-list> |
<auto-line-style-list>
<line-style-list> =
<line-style-or-repeat>#
<auto-line-style-list> =
<line-style-or-repeat>#? , <auto-repeat-line-style> , <line-style-or-repeat>#?
<line-style-or-repeat> =
<line-style> |
<repeat-line-style>
<auto-repeat-line-style> =
repeat( auto , [ <line-style> ]# )
<line-style> =
none |
hidden |
dotted |
dashed |
solid |
double |
groove |
ridge |
inset |
outset
<repeat-line-style> =
repeat( [ <integer [1,∞]> ] , [ <line-style> ]# )
<integer> =
<number-token>
Exemples
>Utilisation simple
Dans cet exemple, nous définissons un seul style de ligne (<line-style>) pour les lignes tracées entre les colonnes et les lignes des éléments dans un conteneur de grille.
HTML
Nous créons une liste de 75 éléments. La plupart du HTML est masqué pour plus de concision.
<ul>
<li>1</li>
<li>2</li>
...
<li>74</li>
<li>75</li>
</ul>
CSS
Nous définissons la liste non ordonnée comme un conteneur à 10 colonnes, créant des colonnes et des lignes avec la propriété grid-template-columns ; nous définissons ensuite list-style-type sur none pour supprimer les puces. Nous incluons un gap de 5px pour fournir suffisamment d'espace entre les colonnes et les lignes afin d'accueillir notre règle thick dashed orange.
ul {
display: grid;
grid-template-columns: repeat(10, 1fr);
list-style-type: none;
gap: 5px;
rule-width: thick;
rule-color: orange;
rule-style: dashed;
}
li {
text-align: center;
aspect-ratio: 1;
}
Résultat
Plusieurs valeurs
Cet exemple montre comment utiliser plusieurs valeurs <line-style> comme valeur de propriété, et ce qui se passe lorsque plus de valeurs <line-style> sont définies qu'il n'y a de gouttières à mettre en forme.
Nous définissons la propriété rule-style comme une liste séparée par des virgules de toutes les valeurs <line-style> possibles.
ul {
rule-style:
dotted, dashed, solid, double, groove, ridge, inset, outset, none, hidden;
}
Résultat
Il y a plus de valeurs que de gouttières pour les lignes et les colonnes ; les dernières valeurs ne sont pas utilisées dans chaque cas.
Répétition des valeurs
Cet exemple montre comment, lorsque la liste des styles contient moins de valeurs que de règles de colonnes et de lignes, les valeurs sont répétées.
En utilisant le même HTML et CSS que dans l'exemple précédent, nous incluons trois styles séparés par des virgules comme valeur de rule-style :
ul {
rule-style: solid, groove, double;
}
Utiliser la fonction repeat()
Cet exemple montre comment utiliser la fonction repeat() dans la valeur de la propriété rule-style. Nous utilisons le même HTML et CSS que dans les exemples précédents. Nous incluons une fonction repeat() qui définit une liste de deux valeurs <line-style> à répéter 3 fois.
ul {
rule-style: solid, repeat(3, inset, outset), solid;
}
La fonction repeat() répète deux valeurs de style trois fois, créant une liste de huit valeurs de style. Les styles sont répétés pour les colonnes ; cependant, les dernières valeurs de la liste sont ignorées pour les lignes.
Utiliser auto dans repeat()
Cet exemple montre comment utiliser auto au lieu d'un entier dans la fonction repeat().
En utilisant repeat(auto, <line-style>), nous définissons toutes les règles de colonnes et de lignes sur groove, sauf la première et la dernière, que nous définissons sur solid.
ul {
rule-style: solid, repeat(auto, groove), solid;
}
Même s'il y a plus de règles de colonnes que de règles de lignes, le <auto-repeat-line-color> permet de créer cet effet symétrique.
Spécifications
| Spécification |
|---|
| CSS Gaps Module Level 1> # propdef-rule-style> |
Compatibilité des navigateurs
Voir aussi
- La propriété
rule-color - La propriété
rule-width - La propriété
row-rule-style - La propriété raccourcie
rule - La propriété raccourcie
rule-style - La propriété raccourcie
rule - Le module des espaces CSS