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 column-rule-break CSS Eigenschaft legt das Verhalten für das Unterteilen von Spaltenregeln in Segmente fest, wo auch immer Spaltenregeln mit Zeilenabständen zusammentreffen.

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
/* Keywords */
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

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

none

Es gibt keine Unterbrechungen in den Spaltenregeln, wenn sie auf Zeilenabstände stoßen; stattdessen wird eine durchgehende Spaltenregel über die gesamte Höhe des Containers von Kante zu Kante gemalt.

normal

In Grid- und Flex-Containern verhält sich wie none. In mehrspaltigen Layouts wirkt es wie intersection. Dies ist der Standardwert.

intersection

Spaltenregeln werden immer dann unterbrochen, wenn sie Zeilenabstände kreuzen, mit Spaltenregel-Segmenten, die an den Kanten des Containers und der Abstände beginnen und enden.

Beschreibung

Die Eigenschaft column-rule-break gibt an, ob Spaltenregeln beim Kreuzen von Zeilenabständen in Segmente unterteilt werden sollen oder nicht.

Spaltenregeln werden innerhalb eines Spaltenabstands als ein oder mehrere Segmente gemalt, wobei Segmente zwischen benachbarten Grid-Elementen in separaten Spalten, zwischen Flex-Elementen oder Flex-Linien in Flex-Layouts abhängig von der flex-direction, oder zwischen Spalten in mehrspaltigen Layouts auftreten.

Die Eigenschaft column-rule-break bestimmt nur, ob die Unterbrechung stattfindet. Standardmäßig entspricht die Unterbrechung zwischen Spaltenregel-Segmenten der Höhe des Zeilenabstands, da jedes Segment an der Kante des Abstands (oder der Kante des Containers) beginnt und endet. Wenn der Zeilenabstand 0 ist, kann diese Unterbrechung nicht sichtbar sein. Die Endpositionen können mit den column-rule-inset Eigenschaften gesteuert werden.

Wenn column-rule-break auf none gesetzt ist, gibt es keine Unterbrechungen. In diesem Fall ist die Spaltenregellinie durchgehend, und alle column-rule-inset Werte wirken sich nur auf die linken und rechten Kanten der Spaltenregel an der Kante des Containers aus. Wenn es Unterbrechungen gibt, beeinflussen die column-rule-inset Eigenschaften den Anfang und das Ende jedes Spaltenregel-Segments.

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

Ob eine Spaltenregel standardmäßig aus einem einzigen durchgehenden Segment besteht oder aus Segmenten, die beim Kreuzen von Zeilenabständen unterbrochen werden, hängt von der Containertyp ab.

Grid-Container

In Grid-Containern setzen sich standardmäßig die Spaltenregel-Segmente durch Zeilenabstandskreuzungen fort, was column-rule-break: none entspricht. Das Setzen von column-rule-break: intersection zwingt die Segmente, bei jedem Zeilenabstand zu unterbrechen, den sie sonst überqueren würden.

Standardmäßig gibt es keine Spaltenregel-Unterbrechungen. Aktivieren Sie das Kontrollkästchen, um column-rule-break auf intersection zu setzen, wodurch die ansonsten kontinuierlichen Regeln bei jedem Kreuzungspunkt unterbrochen werden. Standardmäßig entspricht die Unterbrechung zwischen den Segmenten der Höhe des row-gap, der in diesem Fall auf 20px gesetzt wurde.

Flex-Container

In Flexbox hängt es von der flex-direction ab, ob die Spaltenregeln standardmäßig bei jedem Zeilenabstand unterbrochen werden. In horizontalen Schreibrichtungen, wenn auf row oder row-reverse gesetzt, wird die Spaltenregel bei jedem Zeilenabstand unterbrochen, was column-rule-break: intersection entspricht. Wenn die flex-direction auf column oder column-reverse gesetzt ist, ist die Spaltenregel standardmäßig durchgehend, was column-rule-break: none entspricht.

In horizontalen Schreibrichtungen beeinflusst das Setzen von column-rule-break auf intersection nur die Spaltenregeln in den column und column-reverse Szenarien.

Mehrspaltige Container

In mehrspaltigen Containern verhält sich der Standardwert normal genauso wie intersection. Während die Zeilenverzierungen standardmäßig kontinuierlich sind, brechen die Spaltenregeln an jeder Kreuzung. Spaltenregeln brechen in Segmente an jedem Zeilenabstand, wobei jedes Segment an der Kante des Abstands beginnt und endet. Diese Anfangs- und Endpositionen können mit den column-rule-inset Eigenschaften geändert werden.

Wenn Sie none auswählen, wird die Spaltenregel nicht mehr in Segmente unterteilt; stattdessen wird sie von oben bis zur unteren Kante des Containers fortgesetzt. Die column-rule-inset Eigenschaften können verwendet werden, um die Enden der Spaltenabstand-Verzierungen zu 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 die column-rule-break Eigenschaft, um jedes Regel-Segment in einem Grid-Container zu unterbrechen, sodass Spaltenregel-Segmente zwischen Zeilenabständen erstellt werden. Das Ändern der row-gap Eigenschaft wird die Größe der Segmente ändern.

HTML

Wir erstellen eine Liste von 50 Elementen und einen Schieberegler, um die Breite des Zeilenabstands auszuwählen. Der größte Teil des HTML ist aus Gründen der Kürze ausgeblendet.

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

CSS

Wir definieren die ungeordnete Liste als 8-Spalten-Container, erstellen Zeilen und Spalten mit der grid-template-columns Eigenschaft und setzen list-style-type auf none, um die Aufzählungszeichen zu entfernen. Wir fügen einen gap von 20px hinzu, um genügend Platz zwischen den Zeilen und Spalten zu schaffen, um unsere 20px festen Zeilen- und Spaltenregeln unterzubringen. Wir fügen die rule-overlap Eigenschaft hinzu, um die Spaltenverzierung über alle Zeilenverzierungen zu malen. Schließlich setzen wir die Spaltenregeln so, dass sie bei 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 Rest des CSS bleibt aus Gründen der Kürze verborgen.

Ergebnis

Machen Sie die Zeilenabstände breiter und beachten Sie, wie die Unterbrechungen zwischen den Spaltensegmenten größer werden. Reduzieren Sie die Zeilenabstandbreite auf 0px, und beachten Sie, wie die Spaltenverzierung kontinuierlich erscheint. Das ist sie nicht! Der 0px Abstand zwischen den Segmenten ist möglicherweise nicht sichtbar, aber die Segmente beginnen und enden trotzdem am Abstand, sodass alle Versätze, die mit den column-rule-inset Eigenschaften eingestellt wurden, weiterhin angewendet werden.

Spezifikationen

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

Browser-Kompatibilität

Siehe auch