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 row-rule-break CSS Eigenschaft legt das Verhalten für das Aufbrechen von Zeilenregeln in Segmente fest, wenn Zeilenregeln auf Spaltenabstände stoßen.
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
/* Keywords */
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 als einzelnes Schlüsselwort aus der folgenden Liste angegeben:
none-
Es gibt keine Unterbrechungen in den Zeilenregeln, wenn sie auf Spaltenabstände stoßen; stattdessen wird eine kontinuierliche Zeilenregel über die gesamte Breite des Containers, von Rand zu Rand, gemalt.
normal-
In Grid- und Flex-Containern verhält sich wie
none. In Multi-Col verhält sich wienone. Dies ist der Standardwert. intersection-
Zeilenregeln brechen immer, wenn sie auf Spaltenabstände stoßen, wobei Segmente der Zeilenregel an Container- und Lückenrändern beginnen und enden.
Beschreibung
Die Eigenschaft row-rule-break gibt an, ob Zeilenregeln in Segmente unterteilt werden sollen, wenn sie auf Spaltenabstände treffen.
Zeilenregeln werden innerhalb eines Zeilenabstands als ein oder mehrere Segmente gemalt, wobei Segmente zwischen benachbarten Grid-Elementen in separaten Zeilen, zwischen Flex-Elementen oder Flex-Linien, abhängig von der flex-direction in Flex-Layouts, oder in Abständen zwischen benachbarten Zeilen von Spalten in Multi-Col-Layouts auftreten, wenn column-height mehrere Zeilen von Spalten erstellt.
Die Eigenschaft row-rule-break bestimmt nur, ob die Unterbrechung erfolgt. Standardmäßig ist die Unterbrechung oder der Abstand zwischen Segmente von Zeilenregeln so breit wie der Spaltenabstand, da jedes Segment an den Rändern der Lücke (oder des Containers) beginnt und endet. Wenn die Lücke 0 ist, ist diese Unterbrechung möglicherweise nicht sichtbar. Die Endpositionen können mit den row-rule-inset-Eigenschaften gesteuert werden.
Wenn row-rule-break auf none gesetzt ist, gibt es keine Unterbrechungen, die Zeilenregel ist kontinuierlich, und alle row-rule-inset-Werte beeinflussen nur die Zeilenregel am linken und rechten Rand des Containers. Bei Unterbrechungen beeinflussen die row-rule-inset-Eigenschaften den Anfang und das Ende jedes Segments der Zeilenregel.
Die row-rule-break-Eigenschaft kann zusammen mit der column-rule-break-Eigenschaft mithilfe des rule-break-Kurzschreibweise gesetzt werden.
Ob eine Zeilenregel standardmäßig aus einem einzelnen kontinuierlichen Segment besteht oder aus Segmenten, die bei Schnittpunkten mit Spaltenabständen brechen, hängt vom Containertyp ab.
Grid-Container
In Grid-Containern setzen Zeilenregel-Segmente standardmäßig durch sichtbare "Kreuzungspunkte" fort. Durch Setzen von row-rule-break: intersection werden die Segmente gezwungen, bei jedem Spaltenabstand zu brechen, wo sie sonst kreuzen würden.
Standardmäßig gibt es keine Unterbrechungen der Zeilenregel. Markieren Sie das Kontrollkästchen, um row-rule-break auf intersection zu setzen, wodurch die kontinuierlichen Regeln bei jeder "Kreuzung" brechen. Standardmäßig ist die Unterbrechung zwischen den Segmenten so breit wie der column-gap.
Flex-Container
In Flexbox, wenn die flex-direction row oder row-reverse in horizontalen Schreibrichtungen ist, ist die Zeilenregel kontinuierlich, wobei die Spaltensegmente an den Rändern der Zeilenabstände beginnen und enden. Wenn die flex-direction column oder column-reverse ist, ist die Spaltenregel kontinuierlich, wobei die Zeilensegmente an den Rändern der Spaltenabstände beginnen und enden.
In horizontalen Schreibrichtungen, wenn auf row oder row-reverse gesetzt, ist die Zeilenregel standardmäßig kontinuierlich, während sie bei column oder column-reverse an jedem Spaltenabstand bricht. Das Setzen von row-rule-break auf intersection wirkt sich nur auf die Zeilenregeln in den row- und row-reverse-Szenarien aus.
Multi-Col-Container
In Multi-Col-Containern verhält sich das Standardverhalten normal gleich wie none.
Wenn Sie intersection wählen, wird die Zeilenregel in Segmente unterteilt, sobald sie auf einen Spaltenabstand trifft, wobei jedes Segment an der Kante der Lücke beginnt und endet. Die Anfangs- und Endpositionen können mit den row-rule-inset-Eigenschaften geändert werden.
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 jede Regel zu brechen, sodass die Zeilenregel-Segmente zwischen den Spaltenabständen entstehen. Das Ändern der column-gap-Eigenschaft ändert die Größe der Segmente.
HTML
Wir erstellen eine Liste von 50 Elementen und einen Schieberegler, um die Breite des Spaltenabstands zu ändern. Der größte Teil des HTML ist aus Gründen der Kürze verborgen.
<ul>
<li>1</li>
<li>2</li>
...
<li>49</li>
<li>50</li>
</ul>
CSS
Wir definieren die ungeordnete Liste als einen 8-Spalten-Container, erstellen Spalten und Zeilen mit der grid-template-columns-Eigenschaft und setzen list-style-type auf none, um die Aufzählungszeichen zu entfernen. Wir fügen eine gap von 20px hinzu, um genügend Platz zwischen den Spalten und Zeilen zu lassen, um unsere 20px-soliden Spalten- und Zeilenregeln unterzubringen. Zuletzt setzen wir die Zeilenregeln so, dass sie an jeder Kreuzung in Segmente gebrochen werden.
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 Rest des CSS ist aus Gründen der Kürze verborgen.
Ergebnis
Machen Sie die Spaltenabstände breiter und beachten Sie, wie die Unterbrechungen zwischen den Zeilenabschnitten wachsen. Reduzieren Sie die Breite des Spaltenabstands auf 0px und beachten Sie, wie die Zeilendekoration kontinuierlich erscheint. Das tut sie nicht! Die 0px-Lücke zwischen den Segmenten ist möglicherweise nicht sichtbar, aber die Segmente beginnen und enden immer noch an der Lücke, sodass alle Versätze, die mit den row-rule-inset-Eigenschaften festgelegt wurden, weiterhin angewendet werden.
Spezifikationen
| Spezifikation |
|---|
| CSS Gaps Module Level 1> # propdef-row-rule-break> |
Browser-Kompatibilität
Siehe auch
column-rule-breakrule-breakKurzformrule-insetKurzformrule-overlaprule-visibility-itemsruleKurzform- CSS-Abstände Modul