rule-color 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-color CSS Eigenschaft definiert die Farben der Linien, die zwischen Spalten und Zeilen in Multi-Column-Grid-, Flex- und Multi-Column-Layouts gezeichnet werden, und legt die Farben der Spalten- und Zeilenregeln auf denselben Wert fest.
Probieren Sie es aus
rule-color: purple;
rule-color: rgb(48 125 222), rgb(222 48 125);
rule-color: rgb(48 125 222), repeat(3, rgb(222 48 125));
rule-color: purple, repeat(auto, red, yellow);
<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 thick;
}
#example-element i {
padding: 5px;
}
Zugehörige Eigenschaften
Diese Eigenschaft ist eine Kurzform für die folgenden CSS-Eigenschaften:
Syntax
/* Single <color> value */
rule-color: purple;
rule-color: rgb(192 56 78);
rule-color: transparent;
rule-color: hsl(0 100% 50% / 60%);
/* Multiple values */
rule-color: purple, magenta;
rule-color: repeat(3, purple), repeat(3, transparent);
rule-color: repeat(3, purple), repeat(3, yellow, blue);
rule-color: purple, repeat(auto, transparent), purple;
rule-color: purple, repeat(auto, blue, yellow), purple;
rule-color: repeat(3, purple), repeat(auto, transparent), repeat(3, purple);
/* Global values */
rule-color: inherit;
rule-color: initial;
rule-color: revert;
rule-color: revert-layer;
rule-color: unset;
Werte
Die rule-color-Eigenschaft akzeptiert eine kommagetrennte Liste von Werten, einschließlich:
<line-color>-
Ein
<color>, das die Farbe der Linie darstellt. <repeat-line-color>-
Eine
repeat()-Funktion, mit einem<integer>von1oder mehr als erstem Argument und einem oder mehreren<color>-Werten als nachfolgende Argumente. Der<integer>gibt an, wie oft die<color>-Werte wiederholt werden sollen. <auto-repeat-line-color>-
Eine
repeat()-Funktion, mitautoals ersten Argument und einem oder mehreren<color>-Werten als nachfolgende Argumente. Die angegebenen<color>-Werte werden so oft wiederholt, wie nötig, um Werte für alle Regeln zu füllen, die nicht explizit von anderen Komponenten des Eigenschaftswerts spezifiziert sind.
Beschreibung
Die rule-color-Eigenschaft definiert die Farben aller Linien, die in den Lücken zwischen Spalten und Zeilen in Multi-Column, Flex und Grid Containern mit mehr als einer Spalte oder Zeile gezeichnet werden. Es ist eine Kurzform-Eigenschaft, die sowohl die row-rule-color als auch die column-rule-color Eigenschaften auf denselben Wert setzt.
Der Wert ist eine kommagetrennte Liste von Komponenten, die <line-color>, <repeat-line-color> und <auto-repeat-line-color> Typen enthalten kann. Die rule-color-Eigenschaft kann zusammen mit den rule-width- und rule-style-Eigenschaften mit der rule Kurzform eingestellt werden.
Linienfarben
Ein <line-color> kann als jeder gültige CSS-<color>-Wert deklariert werden. Wenn der Eigenschaftswert nur aus einem <color> besteht, werden alle Regel-Linien in dieser Farbe dargestellt. Zum Beispiel, wenn wir das Folgende deklarieren, werden die Linien in den Zwischenräumen zwischen den Spalten und Zeilen alle blau sein:
rule-color: blue;
Wenn mehrere <line-color> Werte deklariert werden, werden sie in der Reihenfolge, in der sie angegeben sind, auf die Linien in den Spalten- und Zeilenabständen angewendet. Wenn es mehr Regeln als <line-color> Werte gibt, wird die Liste der Farben wiederholt, bis jede Spaltenregel eine Farbe hat. Wenn wir zum Beispiel das Folgende deklarieren, wird jede ungerade Regel rot sein und jede gerade Regel gelb.
rule-color: red, yellow;
Wiederholte Linienfarben
Die repeat()-Funktion, mit einer Ganzzahl von 1 oder größer als erstem Argument, kann verwendet werden, um eine gültige Liste von CSS-<color>-Werten, die als nachfolgende Argumente übergeben werden, die angegebene Anzahl von Malen zu wiederholen. Dies ermöglicht es, die Farbwerte so oft zu wiederholen, wie Sie benötigen, ohne sie einzeln aufzulisten. Die folgenden Deklarationen sind äquivalent:
rule-color: blue, yellow, red, yellow, red, yellow, red;
rule-color: blue, repeat(3, yellow, red);
Dies erstellt eine Liste von sieben Farben. Wenn die Anzahl der Farben in der rule-color-Wertfarbliste die Anzahl der Lücken zwischen Spalten und Zeilen übersteigt, werden die überschüssigen Farbwerte ignoriert. Wenn es weniger Farben als Lücken gibt, wird die Liste der Werte wiederholt, bis jede Regel eine zugeordnete Farbe hat. Zum Beispiel, wenn der Container drei Spalten und 18 Zeilen hat, wird die Regel in der ersten Spaltenlücke blau und die zweite gelb sein. Bei den Zeilenregeln wiederholt sich die Reihenfolge, wobei die erste, achte und fünfzehnte Zeilenregel blau sind.
Automatisch wiederholte Linienfarben
Die repeat()-Funktion akzeptiert auch auto als erstes Argument anstelle einer positiven Ganzzahl. Mit auto als erstes Argument, werden die <color>-Werte, die als nachfolgende Argumente übergeben werden, so oft wiederholt, wie nötig, um Werte für alle Spalten- und Zeilenregeln zu füllen, die nicht explizit von anderen Komponenten des Eigenschaftswerts spezifiziert sind.
rule-color: blue, repeat(auto, yellow), red;
In diesem Fall werden die ersten Spalten- und Zeilenregeln blau, die letzte rot und alle anderen gelb sein. Solange es mindestens zwei Regeln in irgendeiner Richtung gibt, wird die erste Regel immer blau und die letzte immer rot sein. Alle anderen Regeln werden gelb sein, was bedeutet, wenn es nur 2 oder 3 Spalten und Zeilen gibt, werden keine gelben Linien da sein.
Das auto-Schlüsselwort innerhalb der repeat()-Funktion erstellt einen Auto-Repeater, der Werte für die Regel-Linienfarben füllt, die sonst keine Werte aus anderen Teilen der Liste erhalten würden, und verhindert, dass die Liste zyklisch verwendet wird. Ein rule-color-Wert kann höchstens ein repeat(auto, <color>) enthalten.
Formale Definition
Wert in der Datenbank nicht gefunden!Formale Syntax
rule-color =
<'column-rule-color'>
<column-rule-color> =
<line-color-list> |
<auto-line-color-list>
<line-color-list> =
<line-color-or-repeat>#
<auto-line-color-list> =
<line-color-or-repeat>#? , <auto-repeat-line-color> , <line-color-or-repeat>#?
<line-color-or-repeat> =
<color> |
<repeat-line-color>
<auto-repeat-line-color> =
repeat( auto , [ <color> ]# )
<repeat-line-color> =
repeat( [ <integer [1,∞]> ] , [ <color> ]# )
<integer> =
<number-token>
Beispiele
>Einfaches Beispiel
In diesem Beispiel definieren wir eine einzige <color> für die Linien, die zwischen den Spalten und Zeilen von Elementen in einem Grid-Container gezeichnet werden.
HTML
Wir erstellen eine Liste von 75 Elementen. Der Großteil des HTMLs ist zur Übersichtlichkeit ausgeblendet.
<ul>
<li>1</li>
<li>2</li>
...
<li>74</li>
<li>75</li>
</ul>
CSS
Wir definieren die ungeordnete Liste als einen 10-Spalten-Container, der Spalten und Zeilen mit der grid-template-columns-Eigenschaft erstellt. Wir fügen eine gap von 5px hinzu, um genügend Platz zwischen den Spalten und Zeilen für unsere 3px gestrichelte Regel zu bieten, und setzen list-style-type auf none, um die Aufzählungszeichen zu entfernen.
Wir fügen eine gap von 5px hinzu, um ausreichend Platz zwischen den Elementen für unsere mittlere gestrichelte Regel zu schaffen. Wir setzen die rule-color auf #22BB22, einen grünen <hex-color> Wert:
ul {
display: grid;
grid-template-columns: repeat(10, 1fr);
list-style-type: none;
gap: 5px;
rule-style: dashed;
rule-width: medium;
rule-color: #22bb22;
}
li {
text-align: center;
aspect-ratio: 1;
}
Ergebnis
Mehrere Farbwerte
Dieses Beispiel zeigt die Deklaration von mehr als einer Farbe und wie die Werte wiederholt werden, wenn es weniger Farben in der Liste gibt als Lücken zwischen den Spalten und Zeilen.
Mit dem gleichen HTML und CSS wie im vorherigen Beispiel, fügen wir drei kommagetrennte Farben als rule-color Wert hinzu:
ul {
rule-color: blue, yellow, red;
}
Ergebnis
Es gibt neun Spaltenabstände und sechs Zeilenabstände, aber nur drei Farben in unserer Farbliste, also wird die Liste wiederholt, wobei die erste, vierte und siebte Linie blau sind.
Verwenden der repeat()-Funktion
Dieses Beispiel zeigt die Verwendung der repeat()-Funktion innerhalb des rule-color Eigenschaftswertes und wie diese Funktion helfen kann, komplexe Werte handhabbar zu halten.
CSS
Um zu demonstrieren, wie Werte kompliziert werden können und den Nutzen der repeat() Funktion, deklarieren wir zwei benutzerdefinierte Eigenschaften, die wir in vier color-mix() Farbfunktions-Deklarationen verwenden, um blau, rötlich, teal und gelb zu erstellen. Die rötlichen und teal color-mix() Farben befinden sich innerhalb einer repeat() Funktion, die auf dreimaliges Wiederholen gesetzt ist.
Wir haben auch einen Rahmen um jedes Grid-Element hinzugefügt, damit Sie sehen können, wie die Linie in der Mitte der Lücke zwischen den Spalten und Zeilen geregelt wird.
ul {
--base: yellow;
--mixin: blue;
rule-color:
color-mix(in lch decreasing hue, var(--base) 0%, var(--mixin)),
repeat(
3,
color-mix(in lch decreasing hue, var(--base) 58%, var(--mixin)),
color-mix(in lch increasing hue, var(--base) 58%, var(--mixin))
),
color-mix(in lch decreasing hue, var(--base) 100%, var(--mixin));
}
Ergebnis
Das Grid hat 10 Spalten und 7 Zeilen, was 9 Spalten- und 6 Zeilenabstände schafft. Die repeat() Funktion wiederholt die zwei enthaltenen gemischten Farben dreimal, was eine Farbliste mit insgesamt acht Farben erstellt. Während es eine Menge CSS gibt, um die vier Farben zu erstellen, mussten wir zumindest nicht alle acht color-mix() Funktionen ausschreiben. Da es mehr Spaltenabstände als Listfarben gibt, werden die Farben für die Spaltenabstände wiederholt. Da es weniger Zeilenabstände als Farben gibt, werden die letzten beiden Farben in der Liste nicht für die Zeilenabstände verwendet.
Verwenden Sie auto innerhalb von repeat()
Dieses Beispiel zeigt die Verwendung von auto anstelle einer Ganzzahl innerhalb der repeat() Funktion.
Wir verwenden das gleiche HTML und CSS wie in den vorherigen Beispielen, überschreiben jedoch den rule-color Wert. Hier verwenden wir repeat(auto, <color>), um alle Linien fast transparent schwarz (#00000033) zu setzen, außer der ersten und der letzten, die wir auf ein festes black setzen.
ul {
rule-color: black, repeat(auto, #00000033), black;
}
Ergebnis
Obwohl es mehr Spaltenlinien als Zeilenlinien gibt, ermöglicht der <auto-repeat-line-color> Wert die Erstellung dieses symmetrischen Effekts.
Spezifikationen
| Spezifikation |
|---|
| CSS Gaps Module Level 1> # propdef-rule-color> |
Browser-Kompatibilität
Siehe auch
- Der
<color>Datentyp rule-widthrule-stylerow-rule-colorcolumn-rule-colorruleKurzform- CSS Lücken Modul