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

View in English Always switch to English

column-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 column-rule-break legt fest, ob Spaltentrennlinien dort in Segmente unterteilt werden, wo sie Zeilenabstände kreuzen.

Probieren Sie es aus

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

Syntax

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

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

Werte

Für diese Eigenschaft wird eines der folgenden Schlüsselwörter angegeben:

none

Spaltentrennlinien werden an Kreuzungen mit Zeilenabständen nicht unterbrochen. Stattdessen wird eine durchgehende Spaltentrennlinie über die gesamte Höhe des Containers von Rand zu Rand gezeichnet.

normal

Verhält sich in Grid- und Flex-Containern wie none, in Multi-Column-Layouts dagegen wie intersection. Dies ist der Standardwert.

intersection

Spaltentrennlinien werden an Kreuzungen mit Zeilenabständen immer unterbrochen. Die Segmente beginnen und enden an den Rändern des Containers oder des Abstands.

Beschreibung

Die Eigenschaft column-rule-break legt fest, ob Spaltentrennlinien beim Kreuzen von Zeilenabständen in Segmente unterteilt werden.

Spaltentrennlinien werden innerhalb eines Spaltenabstands als ein oder mehrere Segmente gezeichnet. Je nach Layout liegen diese Segmente zwischen benachbarten Grid-Elementen in getrennten Spalten, zwischen Flex-Elementen oder Flex-Zeilen abhängig von flex-direction oder zwischen Spalten eines Multi-Column-Layouts.

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

Ist column-rule-break auf none gesetzt, gibt es keine Unterbrechungen. Die Spaltentrennlinie verläuft dann durchgehend, und Werte für column-rule-inset wirken sich nur auf den linken und rechten Rand der Spaltentrennlinie am Containerrand aus. Bei Unterbrechungen beeinflussen die column-rule-inset-Eigenschaften dagegen den Anfang und das Ende jedes Segments.

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

Ob eine Spaltentrennlinie standardmäßig aus einem einzigen durchgehenden Segment besteht oder an Zeilenabständen unterbrochen wird, hängt vom Containertyp ab.

Grid-Container

In Grid-Containern verlaufen Spaltentrennlinien standardmäßig durch Kreuzungen mit Zeilenabständen hindurch. Das entspricht column-rule-break: none. Mit column-rule-break: intersection werden die Linien an jedem Zeilenabstand unterbrochen, den sie andernfalls kreuzen würden.

Standardmäßig werden Spaltentrennlinien nicht unterbrochen. Aktivieren Sie das Kontrollkästchen, um column-rule-break auf intersection zu setzen. Dadurch werden die ansonsten durchgehenden Linien an jeder Kreuzung unterbrochen. Die Unterbrechung zwischen den Segmenten entspricht standardmäßig der Höhe von row-gap, die hier auf 20px gesetzt wurde.

Flex-Container

Bei Flexbox hängt es von flex-direction ab, ob Spaltentrennlinien standardmäßig an jedem Zeilenabstand unterbrochen werden. In horizontalen Schreibrichtungen werden sie bei row und row-reverse an jedem Zeilenabstand unterbrochen, was column-rule-break: intersection entspricht. Bei column und column-reverse verlaufen sie standardmäßig durchgehend, was column-rule-break: none entspricht.

In horizontalen Schreibrichtungen wirkt sich column-rule-break: intersection nur auf die Spaltentrennlinien in den Szenarien mit column und column-reverse aus.

Multi-Column-Container

In Multi-Column-Containern verhält sich der Standardwert normal wie intersection. Während die Zeilendekorationen standardmäßig durchgehend sind, werden Spaltentrennlinien an jeder Kreuzung unterbrochen. Sie werden an jedem Zeilenabstand in Segmente unterteilt, die jeweils am Rand des Abstands beginnen und enden. Diese Anfangs- und Endpositionen lassen sich mit den column-rule-inset-Eigenschaften ändern.

Wenn Sie none auswählen, wird die Spaltentrennlinie nicht mehr in Segmente unterteilt. Stattdessen verläuft sie vom oberen bis zum unteren Rand des Containers. Mit den column-rule-inset-Eigenschaften können Sie die Enden der Spaltenabstandsdekorationen versetzen.

Formale Definition

Wert in der Datenbank nicht gefunden!

Formale Syntax

column-rule-break = 
none |
normal |
intersection

Beispiele

Grundlegende Verwendung

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

HTML

Wir erstellen eine Liste mit 50 Einträgen und einen Schieberegler zur Auswahl der Breite des Zeilenabstands. 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 grid-template-columns erstellen wir Zeilen und Spalten und setzen list-style-type auf none, um die Aufzählungszeichen zu entfernen. Ein gap von 20px schafft zwischen den Zeilen und Spalten genügend Platz für die durchgezogenen, 20px breiten Zeilen- und Spaltentrennlinien. Mit rule-overlap legen wir fest, dass die Spaltendekoration über etwaigen Zeilendekorationen gezeichnet wird. Schließlich sorgen wir dafür, dass die Spaltentrennlinien an jeder Kreuzung unterbrochen werden.

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

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

  column-rule-break: intersection;
}

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

Ergebnis

Vergrößern Sie die Zeilenabstände und beobachten Sie, wie die Unterbrechungen zwischen den Spaltensegmenten wachsen. Verringern Sie den Zeilenabstand auf 0px: Die Spaltendekoration wirkt nun durchgehend, ist es aber nicht! Der Abstand von 0px zwischen den Segmenten ist möglicherweise nicht sichtbar. Die Segmente beginnen und enden dennoch am Rand des Abstands, sodass mit column-rule-inset-*-Eigenschaften festgelegte Versätze weiterhin gelten.

Spezifikationen

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

Browser-Kompatibilität

Siehe auch