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-Kurzschreibweise rule-break legt fest, ob Spalten- und Zeilenlinien an Schnittpunkten von Zeilen- und Spaltenabständen in Segmente unterteilt werden. Sie setzt column-rule-break und row-rule-break auf denselben Wert.
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;
}
Zugehörige Eigenschaften
Diese Eigenschaft ist eine Kurzschreibweise für die folgenden CSS-Eigenschaften:
Syntax
/* 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
Für diese Eigenschaft wird eines der folgenden Schlüsselwörter angegeben:
none-
An Schnittpunkten von Zeilen- und Spaltenlinien gibt es keine Unterbrechungen. Stattdessen wird eine durchgehende Linie von einem Ende des jeweiligen Abstands zum anderen gezeichnet.
normal-
Verhält sich in Flex- und Grid-Containern wie
none. In Multi-Column-Containern verhält sichcolumn-rule-breakwieintersectionundrow-rule-breakwienone. Dies ist der Standardwert. intersection-
Linien werden immer unterbrochen, wenn sie einen Abstand kreuzen. Die Liniensegmente beginnen und enden an den Rändern des Containers und der Abstände.
Beschreibung
Mit der Eigenschaft rule-break legen Sie fest, ob Linien beim Kreuzen von Abständen in Segmente unterteilt werden.
Linien innerhalb eines Abstands werden als ein oder mehrere Segmente gezeichnet, wobei zwischen jeweils zwei benachbarten Elementen Segmente auftreten. Je nach Containertyp enden diese Segmente standardmäßig entweder am Rand eines Abstands, oder die Spalten- und Zeilenlinien erstrecken sich über die gesamte Höhe beziehungsweise Breite des Containers.
Wenn eine Linie unterbrochen wird, beginnen und enden ihre Segmente standardmäßig am Rand der Abstände. Bei einer Abstandsgröße von 0 ist die Unterbrechung möglicherweise nicht sichtbar. Die Eigenschaft rule-break bestimmt, ob eine Unterbrechung erfolgt. Mit den rule-inset-Eigenschaften können Sie den Abstand zwischen den Segmenten an deren Enden steuern. Wenn keine Unterbrechungen vorhanden sind und die Linie durchgehend ist, wirken sich die rule-inset-Eigenschaften nur auf die Linie am Anfangs- und Endrand des Containers aus. Bei Unterbrechungen wirken sie sich auf den Anfang und das Ende jedes Liniensegments aus.
Ob eine Linie standardmäßig aus einem einzigen durchgehenden Segment besteht oder an Schnittpunkten mit Abständen unterbrochen wird, hängt vom Containertyp ab.
Grid-Container
In Grid-Containern verlaufen Liniensegmente standardmäßig durch sichtbare kreuzförmige Schnittpunkte hindurch. Mit rule-break: intersection werden die Segmente an diesen Stellen unterbrochen.
Aktivieren Sie das Kontrollkästchen, um rule-break auf intersection zu setzen. Dadurch werden die durchgehenden Linien an jedem kreuzförmigen Schnittpunkt unterbrochen.
Flex-Container
In Flexbox-Containern ist die Zeilenlinie durchgehend, wenn flex-direction den Wert row oder row-reverse hat. Die Spaltensegmente beginnen und enden dann am Rand der Zeilenabstände. Bei flex-direction: column oder flex-direction: column-reverse ist die Spaltenlinie durchgehend, während die Zeilensegmente am Rand der Spaltenabstände beginnen und enden.
Beachten Sie, dass je nach flex-direction standardmäßig die Spalten- oder die Zeilenlinien durchgehend sind. Wenn Sie rule-break auf intersection setzen, werden diese durchgehenden Linien an jedem Schnittpunkt unterbrochen.
Multi-Column-Container
In Multi-Column-Containern unterscheidet sich das Standardverhalten von normal für Zeilen- und Spaltenlinien. Spaltenliniensegmente beginnen und enden dort, wo sie einen Zeilenabstand kreuzen, entsprechend column-rule-break: intersection. Zeilenlinien werden dagegen beim Kreuzen eines Spaltenabstands nicht unterbrochen, entsprechend row-rule-break: none.
Wählen Sie die Optionsfelder für die einzelnen Werte aus, um deren Wirkung 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 die Liniensegmente in einem Grid-Container so zu unterbrechen, dass sich keine Linien kreuzen.
HTML
Wir erstellen eine Liste mit 50 Elementen. Der größte Teil des HTML ist der Kürze halber ausgeblendet.
<ul>
<li>1</li>
<li>2</li>
...
<li>49</li>
<li>50</li>
</ul>
CSS
Wir definieren die ungeordnete Liste mit der Eigenschaft grid-template-columns als Container mit acht Spalten und den dazugehörigen Zeilen. Außerdem setzen wir list-style-type auf none, um die Aufzählungszeichen zu entfernen. Mit einem gap von 20px schaffen wir zwischen den Spalten und Zeilen genug Platz für die durchgezogenen Spalten- und Zeilenlinien mit einer Breite von 20px. Abschließend legen wir fest, dass die Liniensegmente unterbrochen werden, statt sich zu kreuzen.
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 restliche CSS-Code ist der Kürze halber ausgeblendet.
Ergebnis
Spezifikationen
| Spezifikation |
|---|
| CSS Gaps Module Level 1> # propdef-rule-break> |
Browser-Kompatibilität
Siehe auch
- Kurzschreibweise
rule-inset rule-overlaprule-visibility-items- Kurzschreibweise
rule - Modul CSS-Abstände