rule-style CSS property
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Die rule-style CSS Eigenschaft definiert den Linienstil der Linien, die zwischen Spalten und Zeilen in Mehrspalten-, Flex- und Multi-Col-Layouts gezogen werden. Dadurch wird der Stil der Spalten- und Zeilenlinien auf denselben Wert gesetzt.
Probieren Sie es aus
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;
}
Zugehörige Eigenschaften
Diese Eigenschaft ist eine Kurzform für die folgenden CSS-Eigenschaften:
Syntax
/* One value */
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;
/* Multiple values */
rule-style: groove, double, dashed;
rule-style: solid, repeat(5, ridge), solid;
rule-style: dotted, repeat(auto, inset, outset), dotted;
/* Global values */
rule-style: inherit;
rule-style: initial;
rule-style: revert;
rule-style: revert-layer;
rule-style: unset;
Werte
Die rule-style Eigenschaft akzeptiert eine durch Kommas getrennte Liste von Werten, einschließlich:
<line-style>-
Ein
<line-style>: einer vonnone,hidden,dotted,dashed,solid,double,groove,ridge,insetoderoutset. Der Standardwert istnone. <repeat-line-style>-
Eine
repeat()Funktion, wobei das erste Argument ein<integer>von1oder mehr ist und nachfolgende Argumente<line-style>Werte sind. Der Integer gibt an, wie oft die<line-style>Werte wiederholt werden sollen. <auto-repeat-line-style>-
Eine
repeat()Funktion, mitautoals erstem Argument und einem oder mehreren<line-style>Werten als nachfolgende Argumente. Die angegebenen<line-style>Werte werden so oft wiederholt, wie nötig, um Werte für alle Linien zu füllen, die nicht explizit durch andere Komponenten des Eigenschaftswerts spezifiziert werden.
Beschreibung
Die rule-style Eigenschaft definiert den Linienstil von Spalten- und Zeilenlinien, die in den Lücken zwischen Spalten und Zeilen in Mehrspalten, Flex und Grid Containern mit mehr als einer Spalte oder Zeile gezogen werden.
Die rule-style setzt sowohl die column-rule-style als auch die row-rule-style Eigenschaften auf denselben Wert. Die rule-style Eigenschaft, zusammen mit den rule-color und rule-width Eigenschaften, kann auch mit der rule Kurzform gesetzt werden.
Der Wert ist eine durch Kommas getrennte Liste von Komponenten, die <line-style>, <repeat-line-style> und <auto-repeat-line-style> Typen enthalten können.
Wenn der Eigenschaftswert nur einen <line-style> hat, werden alle Spalten- und Zeilenlinien diesen Stil haben. Wenn wir Folgendes deklarieren, werden alle Spalten- und Zeilenlinien double sein:
rule-style: double;
Wenn mehrere <line-style> Werte deklariert werden, werden diese in der angegebenen Reihenfolge auf die Linien angewendet. Wenn es mehr Linien als <line-style> Werte gibt, wird die Liste der Linienstile wiederholt, bis jede Spalten- und Zeilenlinie einen Stil hat. Wenn wir zum Beispiel Folgendes deklarieren, wird jede ungerade Linie double und jede gerade inset sein.
rule-style: double, inset;
Wiederholte Linienstile
Die repeat() Funktion, mit einem Integer von 1 oder größer als erstes Argument, kann verwendet werden, um eine gültige Liste von CSS <line-style> Werten, die als nachfolgende Argumente übergeben werden, die angegebene Anzahl von Malen zu wiederholen. Dies ermöglicht es, denselben Stil eine bestimmte Anzahl von Malen zu wiederholen, ohne denselben Wert zu wiederholen. Sie können <line-style> Schlüsselwortwerte oder benutzerdefinierte Eigenschaften, die sich zu einem gültigen <line-style> auflösen, einschließen. Die Verwendung von repeat() kann es einfacher machen, Werte zu schreiben, indem sie wiederkehrende Muster mit einer einzigen Funktion schreiben, unabhängig von der Anzahl der Spalten oder Zeilen. Die folgenden Deklarationen sind gleichwertig:
rule-style: solid, outset, inset, outset, inset, outset, inset;
rule-style: solid, repeat(3, outset, inset);
Dies erstellt eine Liste von sieben Stilen. Wenn die Anzahl der Stile in der Stilenliste eines rule-style Werts die Anzahl der Lücken zwischen den Spalten oder Zeilen übersteigt, werden die überschüssigen Stilwerte ignoriert. Wenn der Container drei Spalten oder Zeilen hat, wird die Linie in der ersten Rinne solid und die zweite outset sein.
Wenn es mehr Rinnen als Stile gibt, wird die Liste der Stile wiederholt. Wenn der Container 8, 15, 22 oder 29 Spalten oder Zeilen hat, wird diese Abfolge von Stilen ein-, zwei-, drei- oder viermal wiederholt, wobei die letzte Linie inset sein wird.
Auto-wiederholende Linienstile
Die repeat() Funktion akzeptiert auch auto als erstes Argument anstelle eines positiven Integers. Mit auto als erstem Argument werden die <line-style> Werte, die als nachfolgende Parameter übergeben werden, so oft wiederholt, wie nötig, um Werte für alle Linien zu füllen, die nicht explizit von anderen Komponenten des Eigenschaftswerts spezifiziert werden.
Das auto Schlüsselwort innerhalb der repeat() Funktion erstellt einen Auto-Wiederholer, der Werte für Spalten- und Zeilenlinien auffüllt, die sonst keine Werte von anderen Teilen der Liste erhalten würden, und verhindert, dass die Liste durchlaufen wird. Innerhalb eines rule-style Werts ist nur ein repeat(auto, <line-style>) erlaubt.
rule-style: solid, repeat(auto, dotted), solid;
In diesem Fall spielt es keine Rolle, ob der Container 8, 15, 22 oder 29 Spalten oder Zeilen hat; die erste und letzte Linie werden immer solid sein, und alle anderen Linien werden dotted sein. Wenn es nur 2 oder 3 Spalten und Zeilen gibt, wird es keine gepunkteten Linien geben.
Formale Definition
Wert in der Datenbank nicht gefunden!Formale Syntax
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>
Beispiele
>Grundlegende Verwendung
In diesem Beispiel definieren wir einen einzelnen <line-style> für die zwischen den Spalten und Zeilen der Elemente in einem Grid-Container gezeichneten Linien.
HTML
Wir erstellen eine Liste mit 75 Elementen. Der größte Teil des HTML ist der Kürze halber ausgeblendet.
<ul>
<li>1</li>
<li>2</li>
...
<li>74</li>
<li>75</li>
</ul>
CSS
Wir definieren die unsortierte Liste als einen 10-Spalten-Container, der Spalten und Zeilen mit der grid-template-columns Eigenschaft erstellt; wir setzen dann list-style-type auf none, um die Aufzählungszeichen zu entfernen. Wir fügen einen gap von 5px ein, um genügend Platz zwischen den Spalten und Zeilen für unsere dicken gestrichelten orangen Linien zu schaffen.
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;
}
Ergebnis
Mehrere Werte
Dieses Beispiel zeigt die Verwendung mehrerer <line-style> Werte als Eigenschaftswert und was passiert, wenn mehr <line-style> Werte angegeben werden als Stilabmessungen vorhanden sind.
Wir setzen die rule-style Eigenschaft als eine durch Kommas getrennte Liste aller möglichen <line-style> Werte.
ul {
rule-style:
dotted, dashed, solid, double, groove, ridge, inset, outset, none, hidden;
}
Ergebnis
Es gibt mehr Werte als Lücken sowohl für die Zeilen als auch die Spalten; die letzten Werte werden in jedem Fall nicht verwendet.
Wiederholte Werte
Dieses Beispiel zeigt, wie, wenn es weniger Werte in der Stilenliste als Spalten- und Zeilenlinien gibt, die Werte wiederholt werden.
Verwendet dasselbe HTML und CSS wie im vorherigen Beispiel, fügen wir drei durch Kommas getrennte Stile als rule-style Wert hinzu:
ul {
rule-style: solid, groove, double;
}
Verwendung der repeat() Funktion
Dieses Beispiel zeigt die Verwendung der repeat() Funktion innerhalb des rule-style Eigenschaftswerts. Wir verwenden das gleiche HTML und CSS wie in den vorherigen Beispielen. Wir fügen eine repeat() Funktion hinzu, die eine Liste von zwei <line-style> Werten festlegt, die 3 Mal wiederholt werden sollen.
ul {
rule-style: solid, repeat(3, inset, outset), solid;
}
Die repeat() Funktion wiederholt zwei Stilwerte dreimal und erstellt eine Liste von acht Stilwerten. Die Stile werden für die Spalten wiederholt, allerdings werden die letzten Werte in der Liste für die Zeilen verworfen.
Verwendung von auto innerhalb repeat()
Dieses Beispiel zeigt die Verwendung von auto anstelle eines Integers innerhalb der repeat() Funktion.
Mit repeat(auto, <line-style>) setzen wir alle Spalten- und Zeilenlinien auf groove, außer der ersten und letzten, die wir auf solid setzen.
ul {
rule-style: solid, repeat(auto, groove), solid;
}
Auch wenn es mehr Spaltenlinien als Zeilenlinien gibt, ermöglicht <auto-repeat-line-color> die Erstellung dieses symmetrischen Effekts.
Spezifikationen
| Spezifikation |
|---|
| CSS Gaps Module Level 1> # propdef-rule-style> |
Browser-Kompatibilität
Siehe auch
rule-colorrule-widthcolumn-rule-stylerow-rule-styleruleKurzform- CSS Lücken Modul