Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

row-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 row-rule-color CSS Eigenschaft definiert die Farben der Linien, die zwischen Zeilen in mehrzeiligen Grid-, Flex- und Multi-Spalten-Layouts gezeichnet werden.

Probieren Sie es aus

row-rule-color: magenta;
row-rule-color: magenta, goldenrod;
row-rule-color: repeat(2, magenta), goldenrod;
row-rule-color: goldenrod, repeat(auto, magenta), goldenrod;
row-rule-color: currentColor;
<section id="default-example">
  <ul id="example-element">
    <li>One fish</li>
    <li>Two fish</li>
    <li>Red fish</li>
    <li>Blue fish</li>
  </ul>
</section>
#example-element {
  display: flex;
  flex-flow: column;
  row-rule-style: solid;
  row-rule-width: 5px;
  gap: 5px;
  text-align: left;
}

Syntax

css
/* Single value */
row-rule-color: red;
row-rule-color: rgb(192 56 78);
row-rule-color: transparent;
row-rule-color: hsl(0 100% 50% / 60%);
row-rule-color: var(--primaryColor);

/* Multiple values */
row-rule-color: red, transparent;
row-rule-color: repeat(3, red), repeat(3, transparent);
row-rule-color: repeat(3, red), repeat(3, yellow, blue);
row-rule-color: red, repeat(auto, transparent), red;
row-rule-color: red, repeat(auto, blue, yellow), red;
row-rule-color: repeat(3, red), repeat(auto, transparent), repeat(3, red);

/* Global values */
row-rule-color: inherit;
row-rule-color: initial;
row-rule-color: revert;
row-rule-color: revert-layer;
row-rule-color: unset;

Werte

Die row-rule-color Eigenschaft akzeptiert eine durch Kommas getrennte Liste von Werten, einschließlich:

<line-color>

Ein <color>, das die Farbe der Linie darstellt.

<repeat-line-color>

Eine repeat() Funktion, mit einem <integer> von 1 oder mehr als erstem Argument und einem oder mehreren <color> Werten als nachfolgende Argumente. Das <integer> gibt an, wie oft die <color> Werte wiederholt werden sollen.

<auto-repeat-line-color>

Eine repeat() Funktion, mit auto als erstem Argument und einem oder mehreren <color> Werten als nachfolgende Argumente. Die angegebenen <color> Werte werden so oft wiederholt, wie nötig ist, um Werte für alle Zeilenregeln bereitzustellen, die nicht explizit durch andere Komponenten des Eigenschaftswerts angegeben sind.

Beschreibung

Die row-rule-color Eigenschaft definiert die Farben aller Linien, die in den Lücken zwischen Zeilen in mehrspaltigen, flexiblen und grid Containern mit mehr als einer Zeile gezeichnet werden.

Der Wert ist eine durch Kommas getrennte Liste von Komponenten, die <line-color>, <repeated-line-color> und <auto-repeat-line-color> Typen enthalten kann.

Die row-rule-color Eigenschaft, zusammen mit den Eigenschaften row-rule-width und row-rule-style, kann mithilfe des row-rule Shorthand festgelegt werden. Die row-rule-color Eigenschaft kann zusammen mit der column-rule-color Eigenschaft auch mit dem rule-color Shorthand festgelegt werden.

Ein <line-color> kann als jeder gültige CSS <color> Wert deklariert werden. Wenn der Eigenschaftswert nur eine <color> enthält, werden alle Zeilen diese Farbe haben. Wenn wir folgendes deklarieren, werden alle Linien blau sein:

css
row-rule-color: blue;

Wenn mehr als eine <line-color> deklariert wird, werden sie in der Reihenfolge, in der sie angegeben wurden, auf die Zeilenregeln angewendet. Wenn es mehr Zeilenregeln als <line-color> Werte gibt, wird die Liste der Farben wiederholt, bis jede Zeilenregel eine Farbe hat. Wenn wir folgendes deklarieren, wird zum Beispiel jede ungerade Zeilenregel blau und jede gerade gelb sein.

css
row-rule-color: blue, yellow;

Wiederholte Linienfarben

Die repeat() Funktion, mit einer Ganzzahl von 1 oder mehr 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, dieselbe Farbe eine festgelegte Anzahl von Malen zu wiederholen, ohne dieselbe <line-color> mehrfach zu schreiben. Die folgenden Deklarationen sind gleichwertig:

css
row-rule-color: blue, yellow, red, yellow, red;
row-rule-color: blue, repeat(2, yellow, red);

Sie können jeden gültigen Farbwert aus jedem Farbraum verwenden, einschließlich CSS-Farbfunktionen, benutzerdefinierte Eigenschaften usw. Die Verwendung von repeat() kann Werte einfacher zu schreiben machen, insbesondere wenn Ihre Farbwerte komplexer werden. Es ermöglicht, ein wiederkehrendes Muster mit einer einzigen Funktion zu schreiben, unabhängig von der Anzahl der Zeilen.

Wenn wir --base: yellow und --mixin: blue setzen, wird das folgende ähnliche Ergebnisse liefern wie die vorherige Deklaration:

css
row-rule-color:
  color-mix(in lch decreasing hue, var(--base) 0%, var(--mixin)),
  repeat(
    2,
    color-mix(in lch decreasing hue, var(--base) 100%, var(--mixin)),
    color-mix(in lch decreasing hue, var(--base) 58%, var(--mixin))
  );

Dies erstellt eine Liste von fünf Farben. Wenn die Anzahl der Farben in der row-rule-color Farbliste die Anzahl der Lücken zwischen den Zeilen übersteigt, werden die überzähligen Farbwerte ignoriert. Wenn der Container drei Zeilen hat, wird die Regel in der ersten Spalte blau und die zweite gelb sein.

Wenn es mehr Spalten als Farben gibt, wird die Liste der Farben wiederholt, bis alle Zeilenregeln eine Farbe erhalten. Wenn der Container 6, 11, 16 oder 21 Zeilen hat, wird diese Sequenz von Farben ein-, zwei-, drei- oder viermal wiederholt, wobei die letzte rot ist.

Automatisches Wiederholen von Linienfarben

Die repeat() Funktion akzeptiert auch auto als erstes Argument anstelle einer positiven Ganzzahl. Mit auto als erstem Argument werden die <color> Werte, die als nachfolgende Argumente übergeben werden, so oft wie nötig wiederholt, um Werte für alle Zeilenregeln bereitzustellen, die nicht explizit durch andere Komponenten des Eigenschaftswerts, falls vorhanden, angegeben werden.

css
row-rule-color: blue, repeat(auto, yellow), red;

In diesem Fall wird die erste Zeilenregel blau, die letzte rot und alle anderen gelb sein. Es spielt keine Rolle, ob der Container 3, 6, 11, 16 oder 21 Zeilen hat; die erste wird immer blau sein und, solange es mindestens zwei Zeilenregeln gibt, wird die letzte immer rot sein. Alle anderen Regeln werden gelb sein, was bedeutet, dass, wenn es nur 2 oder 3 Zeilen gibt, keine gelben Linien vorhanden sein werden.

Das auto Schlüsselwort innerhalb der repeat() Funktion erstellt einen automatischen Wiederholer, der Werte für die Farben der Zeilenregel-Linien auffüllt, die sonst keine Werte aus anderen Teilen der Liste erhalten, und verhindert, dass die Liste zyklisch durchlaufen wird. Ein row-rule-color Wert kann höchstens ein repeat(auto, <color>) enthalten.

Formale Definition

Wert in der Datenbank nicht gefunden!

Formale Syntax

row-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 einzelne Farbe für die Linien, die zwischen Flex-Elementen gezogen werden.

HTML

Wir fügen eine Liste dynamischer Sport-Duos ein:

html
<ul>
  <li>Simone Biles + Jonathan Owens</li>
  <li>Serena Williams + Venus Williams</li>
  <li>Aaron Judge + Giancarlo Stanton</li>
  <li>LeBron James + Dwyane Wade</li>
  <li>Xavi Hernandez + Andres Iniesta</li>
  <li>Kerri Walsh + Misty May Treanor</li>
</ul>

CSS

Wir definieren die Liste als Flex-Container, erstellen Zeilen, indem wir flex-direction mit dem flex-flow Shorthand auf column setzen. Wir fügen eine gap von 5px hinzu, um genügend Platz zwischen den Zeilen zu schaffen, um unsere 3px gestrichelte Regel einzufügen:

css
ul {
  display: flex;
  flex-flow: column;
  gap: 5px;
  row-rule-style: dashed;
  row-rule-width: 3px;
  row-rule-color: blue;
}

Ergebnis

Wiederholende Werte

Dieses Beispiel demonstriert, wie, wenn es weniger Werte in der Liste der Farben als Lücken zwischen den Zeilen gibt, die Werte wiederholt werden.

Mit demselben HTML und CSS wie im vorherigen Beispiel fügen wir drei durch Kommata getrennte Farben als row-rule-color Wert hinzu:

css
ul {
  row-rule-color: blue, yellow, red;
}

Verwendung der repeat() Funktion

Dieses Beispiel demonstriert die Verwendung der repeat() Funktion innerhalb des row-rule-color Eigenschaftswerts und wie diese Funktion helfen kann zu verhindern, dass komplexe Werte unhandlich werden.

Wir verwenden dasselbe HTML und CSS wie in den vorherigen Beispielen. Um zu demonstrieren, wie Werte kompliziert werden können und welche Nützlichkeit die repeat() Funktion bietet, deklarieren wir zwei benutzerdefinierte Eigenschaften, die wir in drei color-mix() Farbfunktionsdeklarationen verwenden, um die gleichen blauen, roten und gelben Farben wie im vorherigen Beispiel zu erstellen. Die zweite Deklaration befindet sich innerhalb einer repeat() Funktion, die auf dreimaligen Wiederholung gesetzt ist.

css
ul {
  --base: yellow;
  --mixin: blue;
  row-rule-color:
    color-mix(in lch decreasing hue, var(--base) 0%, var(--mixin)),
    repeat(3, color-mix(in lch decreasing hue, var(--base) 100%, var(--mixin))),
    color-mix(in lch decreasing hue, var(--base) 58%, var(--mixin));
}

Der Flexcontainer hat sechs Zeilen, also fünf Lücken. Die repeat() Funktion wiederholt unsere zweite Farbe dreimal und erstellt eine Farbliste mit fünf Farben. Da es genauso viele Zeilenabstände wie Gesamtfarben gibt, werden die Farben nicht wiederholt.

Verwendung von auto innerhalb von repeat()

Dieses Beispiel demonstriert die Verwendung von auto, anstelle einer Ganzzahl, innerhalb der repeat() Funktion.

Mit repeat(auto, <color>) setzen wir alle Linien auf fast transparentes Schwarz (#00000033), außer der ersten und letzten, die wir auf ein festes black setzen.

css
ul {
  row-rule-color: black, repeat(auto, #00000033), black;
}

Spezifikationen

Spezifikation
CSS Gaps Module Level 1
# propdef-row-rule-color

Browser-Kompatibilität

Siehe auch