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

View in English Always switch to English

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-Kurzform-Eigenschaft rule-break legt das Verhalten zum Aufteilen von Spalten- und Zeilenlinien in Segmente fest, an denen sich Zeilen und Spaltenlücken schneiden. Dabei werden column-rule-break und row-rule-break auf denselben Wert gesetzt.

Probieren Sie es aus

rule-break: none;
rule-break: normal;
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 purple;
  gap: 10px;
}
#example-element i {
  padding: 5px;
}

Bestandteileigenschaften

Diese Eigenschaft ist eine Kurzform für die folgenden CSS-Eigenschaften:

Syntax

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

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

Werte

Diese Eigenschaft wird als einzelnes Schlüsselwort aus der folgenden Liste angegeben:

none

An Stellen, an denen sich Zeilen- und Spaltenlinien schneiden, gibt es keine Unterbrechungen; stattdessen wird eine einzelne durchgehende Dekoration von einem Ende jeder Lücke zum anderen gezeichnet.

normal

Verhält sich in Flex- und Grid-Containern wie none. In Multi-col verhält sich column-rule-break wie intersection und row-rule-break wie none. Dies ist der Standardwert.

intersection

Linien werden immer unterbrochen, wenn sie eine Lücke schneiden, wobei Liniensegmente an den Kanten von Containern und Lücken beginnen und enden.

Beschreibung

Die Eigenschaft rule-break wird verwendet, um das Verhalten beim Aufteilen von Linien in Segmente festzulegen, wenn sie Lücken überqueren.

Lückendekorationen werden innerhalb einer Lücke als ein oder mehrere Lückendekorationssegmente gezeichnet, wobei Segmente zwischen jeweils zwei benachbarten Elementen auftreten. Abhängig vom Containertyp können diese Segmente standardmäßig entweder an der Kante einer Lücke enden, oder die Spalten- und Zeilenlinie kann sich über die gesamte Höhe und Breite des Containers erstrecken.

Wenn es eine Unterbrechung in einer Linie gibt, beginnen und enden die Segmente standardmäßig an der Kante der Lücken. Wenn die Lückengröße 0 beträgt, ist die Unterbrechung möglicherweise nicht sichtbar. Die Eigenschaft rule-break bestimmt, ob die Unterbrechung erfolgt. Sie können die Größe der Unterbrechung am Ende jedes Segments mit den Eigenschaften rule-inset steuern. Wenn es keine Unterbrechungen gibt und die Linie durchgehend ist, wirken sich die Eigenschaften rule-inset nur auf die Linie an den Start- und Endkanten des Containers aus. Wenn es Unterbrechungen gibt, wirken sich die Eigenschaften rule-inset auf den Anfang und das Ende jedes Liniensegments aus.

Ob eine Linie standardmäßig aus einem einzelnen durchgehenden Segment oder aus Segmenten besteht, die beim Schneiden von Lücken unterbrochen werden, hängt vom Containertyp ab.

Grid-Container

In Grid-Containern verlaufen Liniensegmente standardmäßig durch sichtbare „Kreuz“-Schnittpunkte. Durch Setzen von rule-break: intersection werden die Segmente gezwungen, an Stellen unterbrochen zu werden, an denen sie sich sonst kreuzen würden.

Aktivieren Sie das Kontrollkästchen, um rule-break auf intersection zu setzen. Dadurch werden die durchgehenden Linien an jedem „Kreuz“-Schnittpunkt unterbrochen.

Flex-Container

In Flexbox ist bei flex-direction row oder row-reverse die Zeilenlinie durchgehend, während die Spaltensegmente an der Kante der Zeilenlücken beginnen und enden. Bei flex-direction column oder column-reverse ist die Spaltenlinie durchgehend, während die Zeilensegmente an der Kante der Spaltenlücken beginnen und enden.

Beachten Sie, dass abhängig von flex-direction die Spalten- oder Zeilenlinien standardmäßig durchgehend sind. Wenn Sie rule-break auf intersection setzen, werden diese durchgehenden Linien an jedem Schnittpunkt unterbrochen.

Multi-col-Container

In Multi-col-Containern unterscheidet sich das Standardverhalten normal zwischen Zeilenlinien und Spaltenlinien. Spaltenliniensegmente beginnen und enden, wenn sie eine Zeilenlücke schneiden, und verhalten sich wie column-rule-break: intersection, während Zeilenlinien nicht unterbrochen werden, wenn sie eine Spaltenlücke schneiden, und sich wie row-rule-break: none verhalten.

Wählen Sie die Optionsfelder für die einzelnen Werte aus, um die Wirkung des jeweiligen Werts zu sehen.

Formale Definition

Wert in der Datenbank nicht gefunden!

Formale Syntax

rule-break = 
<'column-rule-break'>

<column-rule-break> =
none |
normal |
intersection

Beispiele

Grundlegende Verwendung

In diesem Beispiel verwenden wir die Eigenschaft rule-break, um jedes Liniensegment in einem Grid-Container zu unterbrechen, sodass sich keine Linien schneiden.

HTML

Wir erstellen eine Liste mit 50 Elementen. Der größte Teil des HTML 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 8 Spalten, erstellen Spalten und Zeilen mit der Eigenschaft grid-template-columns und setzen list-style-type auf none, um die Aufzählungszeichen zu entfernen. Wir fügen eine gap von 20px ein, um ausreichend Platz zwischen den Spalten und Zeilen für unsere durchgezogenen Spalten- und Zeilenlinien von 20px zu schaffen. Abschließend setzen wir die Liniensegmente so, dass sie unterbrochen werden, anstatt sich zu schneiden.

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

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

  rule-break: intersection;
}

Der Rest des CSS ist der Kürze halber ausgeblendet.

Ergebnis

Spezifikationen

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

Browser-Kompatibilität

Siehe auch