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 CSS-Kurzschreibweise rule-style definiert den Linienstil der Linien zwischen Spalten und Zeilen in mehrspaltigen Grid-, Flex- und Multicol-Layouts. Sie setzt die Stile der Spalten- und Zeilenlinien auf denselben Wert.
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 Kurzschreibweise 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 Eigenschaft rule-style akzeptiert eine durch Kommas getrennte Liste von Werten, darunter:
<line-style>-
Ein
<line-style>: einer der Wertenone,hidden,dotted,dashed,solid,double,groove,ridge,insetoderoutset. Der Standardwert istnone. <repeat-line-style>-
Eine
repeat()-Funktion, deren erstes Argument ein<integer>mit dem Wert1oder größer ist und deren weitere Argumente<line-style>-Werte sind. Die Ganzzahl gibt an, wie oft die<line-style>-Werte wiederholt werden. <auto-repeat-line-style>-
Eine
repeat()-Funktion mitautoals erstem Argument und einem oder mehreren<line-style>-Werten als weiteren Argumenten. Die angegebenen<line-style>-Werte werden so oft wiederholt, wie nötig ist, um Werte für alle Linien bereitzustellen, die nicht ausdrücklich durch andere Bestandteile des Eigenschaftswerts festgelegt sind.
Beschreibung
Die Eigenschaft rule-style definiert den Linienstil aller Spalten- und Zeilenlinien, die in den Abständen zwischen Spalten und Zeilen von Multicol-, Flex- und Grid-Containern mit mehr als einer Spalte oder Zeile gezeichnet werden.
rule-style setzt sowohl column-rule-style als auch row-rule-style auf denselben Wert. Die Eigenschaft rule-style kann zusammen mit rule-color und rule-width auch über die Kurzschreibweise rule gesetzt werden.
Der Wert ist eine durch Kommas getrennte Liste von Komponenten, die <line-style>, <repeat-line-style> und <auto-repeat-line-style> enthalten kann.
Enthält der Eigenschaftswert nur einen <line-style>-Wert, haben alle Spalten- und Zeilenlinien diesen Stil. Bei der folgenden Deklaration sind alle Spalten- und Zeilenlinien double:
rule-style: double;
Werden mehrere <line-style>-Werte angegeben, werden sie in der festgelegten Reihenfolge auf die Linien angewendet. Gibt es mehr Linien als <line-style>-Werte, wird die Liste der Linienstile wiederholt, bis jede Spalten- und Zeilenlinie einen Stil hat. Bei der folgenden Deklaration ist beispielsweise jede ungerade Linie double und jede gerade Linie inset:
rule-style: double, inset;
Wiederholte Linienstile
Mit der Funktion repeat() und einer Ganzzahl von 1 oder größer als erstem Argument lässt sich eine als weitere Argumente übergebene Liste gültiger CSS-<line-style>-Werte entsprechend oft wiederholen. So können Sie denselben Stil mehrfach verwenden, ohne denselben Wert wiederholt anzugeben. Sie können <line-style>-Schlüsselwortwerte oder benutzerdefinierte Eigenschaften einfügen, die zu einem gültigen <line-style> aufgelöst werden. repeat() kann die Angabe von Werten vereinfachen, da sich wiederkehrende Muster unabhängig von der Anzahl der Spalten oder Zeilen mit einer einzigen Funktion ausdrücken lassen. Die folgenden Deklarationen sind gleichwertig:
rule-style: solid, outset, inset, outset, inset, outset, inset;
rule-style: solid, repeat(3, outset, inset);
Dadurch entsteht eine Liste mit sieben Stilen. Enthält die Stileliste des rule-style-Werts mehr Stile als Abstände zwischen Spalten oder Zeilen vorhanden sind, werden die überzähligen Stilwerte ignoriert. Hat der Container drei Spalten oder Zeilen, ist die Linie im ersten Zwischenraum solid und die im zweiten outset.
Gibt es mehr Zwischenräume als Stile, wird die Stileliste wiederholt. Hat der Container 8, 15, 22 oder 29 Spalten oder Zeilen, wird diese Stilfolge entsprechend ein-, zwei-, drei- oder viermal wiederholt; die letzte Linie ist dabei inset.
Automatisch wiederholte Linienstile
Die Funktion repeat() akzeptiert als erstes Argument auch auto statt einer positiven Ganzzahl. Bei auto als erstem Argument werden die als weitere Parameter übergebenen <line-style>-Werte so oft wiederholt, wie nötig ist, um Werte für alle Linien bereitzustellen, die nicht ausdrücklich durch andere Bestandteile des Eigenschaftswerts festgelegt sind.
Das Schlüsselwort auto innerhalb der Funktion repeat() erzeugt eine automatische Wiederholung. Sie liefert Werte für Spalten- und Zeilenlinien, die andernfalls keine Werte aus anderen Teilen der Liste erhalten würden, und verhindert so, dass die Liste zyklisch wiederholt wird. Innerhalb eines rule-style-Werts ist nur ein repeat(auto, <line-style>) zulässig.
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 die letzte Linie sind immer solid, alle anderen Linien sind dotted. Bei nur 2 oder 3 Spalten und Zeilen gibt es keine dotted-Linien.
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 Linien zwischen den Spalten und Zeilen der Elemente in einem Grid-Container.
HTML
Wir erstellen eine Liste mit 75 Elementen. Der Kürze halber ist der größte Teil des HTML ausgeblendet.
<ul>
<li>1</li>
<li>2</li>
...
<li>74</li>
<li>75</li>
</ul>
CSS
Wir definieren die ungeordnete Liste als Container mit 10 Spalten und erzeugen die Spalten und Zeilen mit der Eigenschaft grid-template-columns. Anschließend setzen wir list-style-type auf none, um die Aufzählungszeichen zu entfernen. Mit einem gap von 5px schaffen wir zwischen den Spalten und Zeilen genügend Platz für die Linie mit dem Wert 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;
}
Ergebnis
Mehrere Werte
Dieses Beispiel zeigt, wie mehrere <line-style>-Werte als Eigenschaftswert verwendet werden und was geschieht, wenn mehr <line-style>-Werte angegeben werden, als Zwischenräume gestaltet werden können.
Wir setzen die Eigenschaft rule-style auf 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
Sowohl für die Zeilen als auch für die Spalten gibt es mehr Werte als Zwischenräume. Die letzten Werte werden daher jeweils nicht verwendet.
Werte wiederholen
Dieses Beispiel zeigt, dass Werte wiederholt werden, wenn die Stileliste weniger Werte enthält, als Spalten- und Zeilenlinien vorhanden sind.
Wir verwenden dasselbe HTML und CSS wie im vorherigen Beispiel und geben für rule-style drei durch Kommas getrennte Stile an:
ul {
rule-style: solid, groove, double;
}
Die Funktion repeat() verwenden
Dieses Beispiel zeigt die Verwendung der Funktion repeat() innerhalb des Eigenschaftswerts von rule-style. Wir verwenden dasselbe HTML und CSS wie in den vorherigen Beispielen. Die Funktion repeat() legt fest, dass eine Liste mit zwei <line-style>-Werten dreimal wiederholt wird.
ul {
rule-style: solid, repeat(3, inset, outset), solid;
}
Die Funktion repeat() wiederholt zwei Stilwerte dreimal und erzeugt so eine Liste mit acht Stilwerten. Für die Spalten werden die Stile wiederholt; bei den Zeilen werden die letzten Werte der Liste jedoch verworfen.
auto innerhalb von repeat() verwenden
Dieses Beispiel zeigt, wie auto anstelle einer Ganzzahl innerhalb der Funktion repeat() verwendet wird.
Mit repeat(auto, <line-style>) setzen wir alle Spalten- und Zeilenlinien auf groove, mit Ausnahme der ersten und letzten Linie, die wir auf solid setzen.
ul {
rule-style: solid, repeat(auto, groove), solid;
}
Obwohl es mehr Spaltenlinien als Zeilenlinien gibt, ermöglicht <auto-repeat-line-color> diesen symmetrischen Effekt.
Spezifikationen
| Spezifikation |
|---|
| CSS Gaps Module Level 1> # propdef-rule-style> |
Browser-Kompatibilität
Siehe auch
rule-colorrule-widthcolumn-rule-stylerow-rule-style- Kurzschreibweise
rule - CSS-Abstände definieren
- Modul CSS-Abstände