row-rule-inset-junction-start 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.
Mit der CSS-Eigenschaft row-rule-inset-junction-start lässt sich die Anfangskante von Zeilenliniensegmenten versetzen, die Verbindungspunkte als Endpunkte haben. Das sind Endpunkte an Lückenkreuzungen, an denen sich Liniensegmente schneiden.
Probieren Sie es aus
row-rule-inset-junction-start: 0;
row-rule-inset-junction-start: 0.5em;
row-rule-inset-junction-start: 5px;
row-rule-inset-junction-start: -50%;
row-rule-inset-junction-start: overlap-join;
<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 id="u">U</i>
<i id="x">X</i>
<i id="y">Y</i>
<i id="bang">!</i>
</div>
</section>
#example-element {
display: grid;
grid-template-columns: repeat(5, 1fr);
rule: solid thick lightpink;
row-rule-color: magenta;
row-rule-break: intersection;
gap: 1.5em;
rule-overlap: row-over-column;
border: 1px solid rebeccapurple;
margin: auto;
rule-visibility-items: around;
}
#example-element i {
padding: 8px;
border: 1px dashed;
}
#u {
grid-row: 3 / 4;
grid-column: 7 / 8;
}
#y {
grid-row: 4 / 5;
grid-column: 4 / 5;
}
#x {
grid-column: 3 / 4;
grid-row: 4 / 5;
}
#bang {
grid-column: 6 / 7;
grid-row: 4 / 5;
}
Syntax
/* Keywords */
row-rule-inset-junction-start: overlap-join;
/* <length-percentage> values */
row-rule-inset-junction-start: 0;
row-rule-inset-junction-start: 1em;
row-rule-inset-junction-start: -5px;
row-rule-inset-junction-start: -25%;
/* Global values */
row-rule-inset-junction-start: inherit;
row-rule-inset-junction-start: initial;
row-rule-inset-junction-start: revert;
row-rule-inset-junction-start: revert-layer;
row-rule-inset-junction-start: unset;
Werte
Diese Eigenschaft wird mit einem einzelnen Wert aus der folgenden Liste angegeben:
overlap-join-
Legt fest, dass sich das Segment am Verbindungspunkt über die Spaltenlinie hinweg erstreckt. Der Wert entspricht der Hälfte des Werts von
column-gapzuzüglich der Hälfte des verwendeten Werts voncolumn-rule-width. <length-percentage>-
Legt die Größe des Einzugs fest. Prozentwerte beziehen sich auf den Verbindungspunkt am Endpunkt, dessen Größe dem Wert von
column-gapentspricht.
Beschreibung
Mit der Eigenschaft row-rule-inset-junction-start können Sie den Anfang von Segmenten an Verbindungspunkten einziehen oder nach außen versetzen. Der Standardwert ist 0. Positive Werte verkürzen das Segment, während negative Werte und das Schlüsselwort overlap-join es verlängern.
Zeilenlinien werden innerhalb einer Zeilenlücke als ein oder mehrere Segmente gezeichnet. Diese Segmente liegen zwischen:
- benachbarten Zeilen in CSS-Grid-Layouts;
- benachbarten Flex-Elementen oder Flex-Zeilen in Flex-Layouts, abhängig von
flex-direction; - benachbarten Zeilen in mehrspaltigen Layouts, die auftreten können, wenn
column-heightauf einen<length>-Wert gesetzt ist.
Ob sich eine Zeilenlinie über mehrere Spalten erstreckt oder in mehrere Segmente unterteilt wird, legt die Eigenschaft row-rule-break fest. Innere Unterbrechungen zwischen Zeilenliniensegmenten haben die Größe von column-gap. Ein Verbindungsanfang befindet sich am Anfang jedes Zeilensegments, dessen Anfang an einer Lückenkreuzung mit weiteren Zeilen- oder Liniensegmenten liegt.
Die Eigenschaft row-rule-inset-junction-start ist Bestandteil mehrerer Kurzschreibweisen:
-
Um die linken und rechten Endpunkte von Zeilensegmenten an Verbindungspunkten einzuziehen, können Sie
row-rule-inset-junction-startzusammen mitrow-rule-inset-junction-endüber die Kurzschreibweiserow-rule-inset-junctionfestlegen. -
Um die Anfangspunkte aller Zeilensegmente einzuziehen, können Sie
row-rule-inset-junction-startzusammen mitrow-rule-inset-cap-startüber die Kurzschreibweiserow-rule-inset-startfestlegen. -
Um die oberen, unteren, linken und rechten Segmentendpunkte an Verbindungspunkten einzuziehen, können Sie die Kurzschreibweise
row-rule-inset-junctionzusammen mit der Kurzschreibweisecolumn-rule-inset-junctionüberrule-inset-junctionfestlegen.
Alle Segmentendpunkte, einschließlich der entsprechenden -end-, -cap- und column--Eigenschaften, können Sie über die Kurzschreibweise rule-inset festlegen.
Endpunkte an Verbindungspunkten verstehen
Ein Segmentendpunkt an einem Verbindungspunkt ist ein Segmentendpunkt an einer inneren Lücke, der an einer Lückenkreuzung beginnt, an der weitere Spalten- oder Zeilenliniensegmente vorhanden sind. Die Eigenschaft row-rule-inset-junction-start steuert den Einzug der Anfangskante von Zeilensegmenten an Verbindungspunkten. So können Sie die Segmente verkürzen oder verlängern.
Längenwerte für row-rule-inset-junction-start ziehen Segmente an Verbindungspunkten um den angegebenen Wert ein. Prozentwerte beziehen sich auf die Größe von column-gap. Negative Werte bewirken einen Versatz nach außen und verlängern den Anfang des Segments. Mit -50% wird der Anfang des Segments bis zur Mitte der angrenzenden Spaltenlücke nach außen versetzt – unabhängig davon, wie breit diese Lücke ist.
In der folgenden Demonstration beginnen die Zeilenliniensegmente in allen Spalten außer der ersten an Verbindungspunkten. Wenn row-rule-inset-junction-start: 16px gesetzt ist, wird die linke Seite beziehungsweise der Anfang dieser Segmente um 16px eingezogen. Ändern Sie den <length>-Wert des Einzugs, um besser zu erkennen, welche Zeilensegmente an Verbindungspunkten beginnen.
Die Eigenschaft rule-break ist auf intersection gesetzt. Dadurch werden alle Zeilen- und Spaltensegmente an jeder Lückenkreuzung unterbrochen. Standardmäßig grenzt der Anfang jedes inneren Zeilensegments an eine Spaltenlücke. Der Standardwert der Eigenschaft row-rule-inset-junction-start ist 0.
Ändern Sie den Einzugswert. Beachten Sie, dass sich beim Ändern des Eigenschaftswerts nur die Anfänge der Zeilensegmente in der Mitte des Grids ändern. Die Segmentendpunkte am Rand des Containers ändern sich nicht: Sie sind äußere Endpunkte und werden von row-rule-inset-junction-start nicht beeinflusst.
Wählen Sie between als Wert für rule-visibility-items. Bei diesem Wert werden Linien in Lückensegmenten nur gezeichnet, wenn in beiden angrenzenden Bereichen Elemente vorhanden sind. Das Zeilenliniensegment zwischen 18 und 24 beginnt nun an einer inneren Kreuzung, an der kein weiteres Liniensegment vorhanden ist. Der Anfang dieses Zeilensegments ist daher ein äußerer Segmentendpunkt und wird von row-rule-inset-junction-start nicht beeinflusst. Mit der Eigenschaft row-rule-inset-cap-start können Sie diesen Segmentendpunkt einziehen.
Beim Wert around werden Linien in Lückensegmenten gezeichnet, wenn sich in mindestens einem der beiden angrenzenden Bereiche ein Element befindet. In diesem Beispiel wurde kein Segmentendpunkt an einem Verbindungspunkt zu einem äußeren Segmentendpunkt, einige Segmente wurden jedoch nicht gezeichnet.
Der Wert overlap-join
Der Wert overlap-join versetzt den Anfang innerer Segmente nach außen, sodass er an der gegenüberliegenden Kante der kreuzenden Spaltenlinie ausgerichtet ist. Der Wert entspricht der Hälfte der Größe von column-gap (wodurch sich das Segment bis zur Mitte der Lücke erstreckt) zuzüglich der Hälfte der Breite der Spaltenlinie. Wenn row-rule-inset-junction-start auf overlap-join gesetzt ist, erstreckt sich der Anfang der Segmente an Verbindungspunkten in die Spaltenlücke, bis er die gegenüberliegende Kante der dort gezeichneten Spaltenlinie erreicht und sich mit ihr verbindet.
Im folgenden interaktiven Beispiel ist row-rule-inset-junction-start auf overlap-join gesetzt:
Ändern Sie die Werte von column-rule-width und column-gap. Beachten Sie, dass sich der Anfang des Zeilensegments unabhängig von der Größe der Lücke oder der Spaltenlinie stets über die Spaltenlinie erstreckt. Der Endpunkt ist dabei an der gegenüberliegenden Kante der in der Lücke gezeichneten Spaltenlinie ausgerichtet.
Formale Definition
Wert in der Datenbank nicht gefunden!Formale Syntax
row-rule-inset-junction-start =
<inset-value>
<inset-value> =
<length-percentage> |
overlap-join
<length-percentage> =
<length> |
<percentage>
Beispiele
>Grundlegende Verwendung
Dieses Beispiel zeigt, wie Sie mit row-rule-inset-junction-start die Anfangskante von Zeilensegmenten an Verbindungspunkten in Flex-Containern einziehen.
HTML
Das Markup enthält zwei <div>-Elemente mit jeweils sieben Kindelementen. Der einzige Unterschied zwischen den beiden Containern besteht darin, dass der zweite zusätzlich die Klasse column hat.
<h1>Insetting junction row rule endpoints</h1>
<article>
<section>
<h2>flex-direction: row</h2>
<div class="flexbox">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</section>
<section>
<h2>flex-direction: column</h2>
<div class="flexbox column">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</section>
</article>
CSS
Mit der Eigenschaft display machen wir die .flexbox-Elemente zu Flex-Containern. Mithilfe von flex-wrap und flex-line-count verteilen wir die Elemente auf drei Flex-Zeilen. Wir definieren eine hellblaue rule, die sowohl in Spalten- als auch in Zeilenlücken gezeichnet wird. Anschließend überschreiben wir row-rule-color, um für die Zeilenlücken ein dunkleres blue festzulegen. Schließlich setzen wir row-rule-inset-junction-start auf 16px.
.flexbox {
display: flex;
flex-wrap: balance;
flex-line-count: 3;
gap: 20px;
rule: 5px solid lightblue;
row-rule-color: blue;
row-rule-inset-junction-start: 16px;
}
Außerdem setzen wir flex-direction für den .column-Container auf column. Dadurch ändert sich die Hauptachse des Flex-Containers, sodass die Elemente in Spalten statt in Zeilen angeordnet werden.
.column {
flex-direction: column;
}
Der übrige CSS-Code ist der Kürze halber ausgeblendet.
Ergebnis
Ändern Sie die Größe des Einzugs. Beachten Sie, dass diese Eigenschaft nur Zeilenlinien beeinflusst, die in mehrere Segmente unterteilt sind. Besteht eine Zeilenlinie aus einem einzigen Segment, das sich über die gesamte Breite des Containers erstreckt, hat dieses zwei äußere Endpunkte und keine Endpunkte an Verbindungspunkten. Änderungen am Wert von row-rule-inset-junction-start wirken sich dann nicht darauf aus.
Spezifikationen
| Spezifikation |
|---|
| CSS Gaps Module Level 1> # propdef-row-rule-inset-junction-start> |
Browser-Kompatibilität
Siehe auch
row-rule-inset-junction-end- Kurzschreibweise
row-rule-inset-junction - Kurzschreibweise
row-rule-inset - Kurzschreibweise
rule-inset row-rule-break- Kurzschreibweise
rule-break rule-overlaprule-visibility-items- Kurzschreibweise
rule - Modul CSS gaps