row-rule-inset-junction-end 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-end lässt sich die Endkante von Zeilentrennliniensegmenten versetzen, die an Kreuzungspunkten enden, also an Stellen, an denen sich Trennliniensegmente in Abständen kreuzen.
Probieren Sie es aus
row-rule-inset-junction-end: 0;
row-rule-inset-junction-end: 0.5em;
row-rule-inset-junction-end: 5px;
row-rule-inset-junction-end: -50%;
row-rule-inset-junction-end: 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-end: overlap-join;
/* <length-percentage> values */
row-rule-inset-junction-end: 0;
row-rule-inset-junction-end: 1em;
row-rule-inset-junction-end: -5px;
row-rule-inset-junction-end: -25%;
/* Global values */
row-rule-inset-junction-end: inherit;
row-rule-inset-junction-end: initial;
row-rule-inset-junction-end: revert;
row-rule-inset-junction-end: revert-layer;
row-rule-inset-junction-end: unset;
Werte
Diese Eigenschaft wird mit einem einzelnen Wert aus der folgenden Liste angegeben:
overlap-join-
Gibt an, dass sich das Segment am Kreuzungspunkt über die Spaltentrennlinie hinaus erstrecken soll. Der Wert entspricht der Hälfte von
column-gapplus der Hälfte des verwendeten Werts voncolumn-rule-width. <length-percentage>-
Gibt die Größe des Einzugs an. Prozentwerte beziehen sich auf den Abstand am Kreuzungsendpunkt, also auf den Wert von
column-gap.
Beschreibung
Mit der Eigenschaft row-rule-inset-junction-end lassen sich Kreuzungsendpunkte von Segmenten am Ende von Zeilentrennliniensegmenten 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.
Zeilentrennlinien werden innerhalb eines Zeilenabstands als ein oder mehrere Segmente gezeichnet. Solche 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 eine Zeilentrennlinie mehrere Spalten überspannt oder in mehrere Segmente unterteilt wird, legt die Eigenschaft row-rule-break fest. Innere Unterbrechungen zwischen Zeilentrennliniensegmenten haben die Größe von column-gap. Ein Kreuzungsendpunkt liegt am Ende jedes Zeilensegments vor, das an einer Kreuzung von Abständen endet, an der weitere Zeilen- oder Trennliniensegmente vorhanden sind.
Die Eigenschaft row-rule-inset-junction-end ist Bestandteil mehrerer Kurzschreibweisen:
-
Um sowohl den linken als auch den rechten Kreuzungsendpunkt eines Zeilensegments einzuziehen, können
row-rule-inset-junction-endundrow-rule-inset-junction-startüber die Kurzschreibweiserow-rule-inset-junctiongesetzt werden. -
Um alle Endpunkte am Ende von Zeilensegmenten einzuziehen, können
row-rule-inset-junction-endundrow-rule-inset-cap-endüber die Kurzschreibweiserow-rule-inset-endgesetzt werden. -
Um die Kreuzungsendpunkte von Segmenten oben, unten, links und rechts einzuziehen, können die Kurzschreibweisen
row-rule-inset-junctionundcolumn-rule-inset-junctionüber die Kurzschreibweiserule-inset-junctiongesetzt werden.
Alle Segmentendpunkte, einschließlich der -start-, -cap- und column--Entsprechungen dieser Eigenschaft, können über die Kurzschreibweise rule-inset gesetzt werden.
Kreuzungsendpunkte verstehen
Ein Kreuzungsendpunkt eines Segments ist ein Segmentendpunkt innerhalb eines Abstands, an dem sich Abstände kreuzen und weitere Spalten- oder Zeilentrennliniensegmente vorhanden sind. Die Eigenschaft row-rule-inset-junction-end steuert den Einzug der Endkante von Zeilensegmenten an solchen Kreuzungen. Dadurch können die Segmente verkürzt oder verlängert werden.
row-rule-inset-junction-end-Werte mit Längeneinheiten ziehen Segmente am Kreuzungsendpunkt um den angegebenen Wert ein. Prozentwerte beziehen sich auf die Größe von column-gap. Negative Werte versetzen das Ende des Segments nach außen und verlängern es. Bei -50% reicht das Ende des Segments bis zur Mitte des benachbarten Spaltenabstands – unabhängig davon, wie breit dieser ist.
In der folgenden Demonstration enden die Zeilentrennliniensegmente in allen Spalten außer der letzten an Kreuzungsendpunkten. Bei row-rule-inset-junction-end: 16px wird die rechte Seite, also das Ende, dieser Segmente um 16px eingezogen. Ändern Sie den <length>-Wert des Einzugs, um besser zu erkennen, welche Zeilensegmente an Kreuzungsendpunkten enden.
Die Eigenschaft rule-break ist auf intersection gesetzt. Dadurch werden alle Zeilen- und Spaltensegmente an jeder Kreuzung von Abständen unterbrochen. Standardmäßig grenzt das Ende jedes inneren Zeilensegments an einen Spaltenabstand. Der Standardwert von row-rule-inset-junction-end ist 0.
Ändern Sie den Einzugswert. Beachten Sie, dass sich bei einer Änderung des Eigenschaftswerts nur die rechten Enden der Zeilensegmente in der Mitte des Grids verändern. Die Segmentendpunkte an den Containerrändern bleiben unverändert: Sie sind äußere Endpunkte und werden von row-rule-inset-junction-end nicht beeinflusst.
Wählen Sie between als Wert für rule-visibility-items. Bei diesem Wert werden Trennlinien in Abstandssegmenten nur gezeichnet, wenn sich in beiden angrenzenden Bereichen Elemente befinden. Das Zeilentrennliniensegment zwischen 17 und 23 endet nun an einer inneren Kreuzung, an der keine weiteren Trennliniensegmente vorhanden sind: Sein Ende ist ein äußerer Segmentendpunkt und wird von row-rule-inset-junction-end nicht beeinflusst. Mit der Eigenschaft row-rule-inset-cap-end lässt sich dieser Segmentendpunkt einziehen.
Der Wert around zeichnet Trennlinien in Abstandssegmenten, wenn sich in mindestens einem der beiden angrenzenden Bereiche ein Element befindet. In diesem Beispiel wurden keine Kreuzungsendpunkte zu äußeren Segmentendpunkten, aber einige äußere Segmente wurden nicht gezeichnet.
Der Wert overlap-join
Der Wert overlap-join versetzt das Ende innerer Segmente nach außen, sodass es an der gegenüberliegenden Kante der kreuzenden Spaltentrennlinie ausgerichtet ist. Der Wert entspricht der Hälfte der Größe von column-gap (bis zur Mitte des Abstands) plus der Hälfte der Breite der Spaltentrennlinie. Wenn row-rule-inset-junction-end auf das Schlüsselwort overlap-join gesetzt ist, reichen die Segmente an Kreuzungsendpunkten in den Spaltenabstand hinein bis zur gegenüberliegenden Kante der dort gezeichneten Spaltentrennlinie und schließen an sie an.
Im folgenden interaktiven Beispiel ist row-rule-inset-junction-end auf overlap-join gesetzt:
Ändern Sie die Werte von column-rule-width und column-gap. Beachten Sie, dass das Ende des Zeilensegments unabhängig von der Breite des Abstands oder der Spaltentrennlinie stets über die Spaltentrennlinie hinausreicht. Der Endpunkt ist dabei an der gegenüberliegenden Kante der im Abstand gezeichneten Spaltentrennlinie ausgerichtet.
Formale Definition
Wert in der Datenbank nicht gefunden!Formale Syntax
row-rule-inset-junction-end =
<inset-value>
<inset-value> =
<length-percentage> |
overlap-join
<length-percentage> =
<length> |
<percentage>
Beispiele
>Grundlegende Verwendung
Dieses Beispiel zeigt, wie sich mit row-rule-inset-junction-end die Endkante von Zeilensegmenten an Kreuzungen in Flex-Containern einziehen lässt.
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 besitzt.
<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 für die Spalten- und Zeilenabstände und überschreiben anschließend row-rule-color, um die Zeilenabstände mit einem dunkleren blue zu dekorieren. Schließlich setzen wir row-rule-inset-junction-end 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-end: 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 Zeilentrennlinien beeinflusst, die in mehrere Segmente unterteilt sind. Besteht eine Zeilentrennlinie aus einem einzigen Segment, das die gesamte Breite des Containers überspannt, hat es zwei äußere Endpunkte und keine Kreuzungsendpunkte. Änderungen am Wert von row-rule-inset-junction-end wirken sich dann nicht darauf aus.
Spezifikationen
| Spezifikation |
|---|
| CSS Gaps Module Level 1> # propdef-row-rule-inset-junction-end> |
Browser-Kompatibilität
Siehe auch
row-rule-inset-junction-start- 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