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-break 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-Eigenschaft row-rule-break legt fest, wie Zeilenlinien in Segmente unterteilt werden, wenn sie Spaltenabstände kreuzen.

Probieren Sie es aus

row-rule-break: none;
row-rule-break: normal;
row-rule-break: intersection;
<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);
  row-rule: solid thick orange;
  column-rule: solid thick lavender;
  gap: 15px;
}
#example-element i {
  padding: 5px;
}

Syntax

css
/* Keyword values */
row-rule-break: none;
row-rule-break: normal;
row-rule-break: intersection;

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

Werte

Diese Eigenschaft wird durch eines der folgenden Schlüsselwörter angegeben:

none

Zeilenlinien werden nicht unterbrochen, wenn sie Spaltenabstände kreuzen. Stattdessen wird eine durchgehende Zeilenlinie über die gesamte Breite des Containers von einem Rand zum anderen gezeichnet.

normal

Verhält sich in Grid-, Flex- und mehrspaltigen Layouts wie none. Dies ist der Standardwert.

intersection

Zeilenlinien werden immer unterbrochen, wenn sie Spaltenabstände kreuzen. Die Segmente beginnen und enden an den Rändern des Containers oder der Abstände.

Beschreibung

Die Eigenschaft row-rule-break legt fest, ob Zeilenlinien beim Kreuzen von Spaltenabständen in Segmente unterteilt werden.

Zeilenlinien werden innerhalb eines Zeilenabstands als ein oder mehrere Segmente gezeichnet. Diese Segmente liegen zwischen benachbarten Grid-Items in verschiedenen Zeilen, zwischen Flex-Items oder Flex-Zeilen – abhängig von flex-direction in Flex-Layouts – oder zwischen benachbarten Spaltenreihen in mehrspaltigen Layouts, wenn column-height mehrere Spaltenreihen erzeugt.

Die Eigenschaft row-rule-break bestimmt nur, ob eine Unterbrechung auftritt. Standardmäßig entspricht die Unterbrechung beziehungsweise der Abstand zwischen den Segmenten der Breite des Spaltenabstands, da jedes Segment am Rand des Abstands oder des Containers beginnt und endet. Wenn der Abstand 0 beträgt, ist die Unterbrechung möglicherweise nicht sichtbar. Die Endpositionen lassen sich mit den row-rule-inset-Eigenschaften steuern.

Wenn row-rule-break auf none gesetzt ist, gibt es keine Unterbrechungen: Die Zeilenlinie verläuft durchgehend, und Werte für row-rule-inset wirken sich nur am linken und rechten Rand des Containers auf sie aus. Wenn Unterbrechungen vorhanden sind, beeinflussen die row-rule-inset-Eigenschaften den Anfang und das Ende jedes Segments.

Die Eigenschaft row-rule-break kann zusammen mit der Eigenschaft column-rule-break über die Kurzform rule-break festgelegt werden.

Ob eine Zeilenlinie standardmäßig aus einem einzigen durchgehenden Segment besteht oder bei Spaltenabständen unterbrochen wird, hängt vom Containertyp ab.

Grid-Container

In Grid-Containern verlaufen Zeilenliniensegmente standardmäßig durch sichtbare Kreuzungspunkte hindurch. Mit row-rule-break: intersection werden die Segmente an jedem Spaltenabstand unterbrochen, den sie andernfalls kreuzen würden.

Standardmäßig werden Zeilenlinien nicht unterbrochen. Aktivieren Sie das Kontrollkästchen, um row-rule-break auf intersection zu setzen. Dadurch werden die durchgehenden Linien an jedem Kreuzungspunkt unterbrochen. Der Abstand zwischen den Segmenten entspricht standardmäßig der Breite von column-gap.

Flex-Container

In Flexbox-Layouts mit horizontaler Schreibrichtung und flex-direction auf row oder row-reverse ist die Zeilenlinie durchgehend, während die Spaltenliniensegmente an den Rändern der Zeilenabstände beginnen und enden. Bei flex-direction auf column oder column-reverse ist die Spaltenlinie durchgehend, während die Zeilenliniensegmente an den Rändern der Spaltenabstände beginnen und enden.

Bei horizontaler Schreibrichtung ist die Zeilenlinie mit row oder row-reverse standardmäßig durchgehend. Mit column oder column-reverse wird sie dagegen an jedem Spaltenabstand unterbrochen. Wird row-rule-break auf intersection gesetzt, wirkt sich das nur bei row und row-reverse auf die Zeilenlinien aus.

Mehrspaltige Container

In mehrspaltigen Containern verhält sich der Standardwert normal wie none.

Wenn Sie intersection auswählen, wird die Zeilenlinie an jedem Spaltenabstand in Segmente unterteilt. Jedes Segment beginnt und endet am Rand des Abstands. Die Anfangs- und Endpositionen lassen sich mit den row-rule-inset-Eigenschaften ändern.

Formale Definition

Wert in der Datenbank nicht gefunden!

Formale Syntax

row-rule-break = 
none |
normal |
intersection

Beispiele

Grundlegende Verwendung

In diesem Beispiel verwenden wir die Eigenschaft row-rule-break, um die Zeilenlinien in einem Grid-Container an den Spaltenabständen in Segmente zu unterteilen. Wenn Sie die Eigenschaft column-gap ändern, ändert sich die Größe der Segmente.

HTML

Wir erstellen eine Liste mit 50 Einträgen und einen Schieberegler, mit dem sich die Breite des Spaltenabstands ändern lässt. Der Großteil des HTML-Codes ist der Kürze halber ausgeblendet.

html
<ul>
  <li>1</li>
  <li>2</li>
  ...
  <li>49</li>
  <li>50</li>
</ul>

CSS

Wir definieren die ungeordnete Liste als Container mit acht Spalten. Mit der Eigenschaft grid-template-columns erstellen wir Spalten und Zeilen; außerdem setzen wir list-style-type auf none, um die Aufzählungszeichen zu entfernen. Mit gap auf 20px schaffen wir zwischen den Spalten und Zeilen genug Platz für die durchgezogenen, 20px breiten Spalten- und Zeilenlinien. Abschließend legen wir fest, dass die Zeilenlinien an jedem Kreuzungspunkt in Segmente unterteilt werden.

css
ul {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  list-style-type: none;
  gap: 20px;

  row-rule: 10px solid olive;
  column-rule: 10px solid palegoldenrod;

  row-rule-break: intersection;
}

Der restliche CSS-Code ist der Kürze halber ausgeblendet.

Ergebnis

Vergrößern Sie die Spaltenabstände und beobachten Sie, wie die Unterbrechungen zwischen den Zeilenliniensegmenten wachsen. Verringern Sie die Breite des Spaltenabstands auf 0px: Die Zeilendekoration erscheint nun durchgehend. Das ist sie jedoch nicht! Der Abstand von 0px zwischen den Segmenten ist möglicherweise nicht sichtbar, aber die Segmente beginnen und enden weiterhin am Spaltenabstand. Daher werden mit den row-rule-inset-Eigenschaften festgelegte Versätze weiterhin angewendet.

Spezifikationen

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

Browser-Kompatibilität

Siehe auch