column-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 column-rule-inset-junction-start können die oberen Endpunkte von column-rule-Segmenten versetzt werden, wenn es sich dabei um Kreuzungsendpunkte handelt – also um Endpunkte an Lückenkreuzungen, an denen sich rule-Segmente schneiden.
Probieren Sie es aus
column-rule-inset-junction-start: 0;
column-rule-inset-junction-start: 0.5em;
column-rule-inset-junction-start: 10px;
column-rule-inset-junction-start: -100%;
column-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>
</div>
</section>
#example-element {
display: grid;
grid-template-columns: repeat(5, 1fr);
rule: solid thick lightpink;
column-rule-color: magenta;
column-rule-break: intersection;
gap: 1.5em;
rule-overlap: column-over-row;
border: 1px solid rebeccapurple;
margin: auto;
rule-visibility-items: around;
}
#example-element i {
background-color: #efefef;
color: #333333;
padding: 1em;
}
Syntax
/* Keywords */
column-rule-inset-junction-start: overlap-join;
/* <length-percentage> values */
column-rule-inset-junction-start: 0;
column-rule-inset-junction-start: 1em;
column-rule-inset-junction-start: -5px;
column-rule-inset-junction-start: -25%;
/* Global values */
column-rule-inset-junction-start: inherit;
column-rule-inset-junction-start: initial;
column-rule-inset-junction-start: revert;
column-rule-inset-junction-start: revert-layer;
column-rule-inset-junction-start: unset;
Werte
Diese Eigenschaft wird durch einen einzelnen Wert aus der folgenden Liste angegeben:
overlap-join-
Gibt an, dass sich das Kreuzungssegment über die row-rule erstrecken soll. Der Wert ergibt sich aus der Hälfte des
row-gap-Werts plus der Hälfte des verwendetenrow-rule-width-Werts. <length-percentage>-
Gibt die Größe des Versatzes an. Prozentwerte beziehen sich auf den Kreuzungsendpunkt, dessen Bezugsgröße der
row-gap-Wert ist.
Beschreibung
Mit der Eigenschaft column-rule-inset-junction-start können Endpunkte von Kreuzungssegmenten am oberen Ende von column-rule-Segmenten nach innen oder außen versetzt werden. Der Standardwert ist 0. Positive Werte verkürzen das Segment, während negative Werte und das Schlüsselwort overlap-join es verlängern.
Column-rules werden innerhalb einer Spaltenlücke als ein oder mehrere Segmente gezeichnet. Segmente treten zwischen folgenden Elementen auf:
- Benachbarten Spalten in CSS-Grid-Layouts.
- Benachbarten Flex-Elementen oder Flex-Zeilen in Flex-Layouts, abhängig von
flex-direction. - Benachbarten Spalten in mehrspaltigen Layouts.
Ob sich eine column-rule über mehrere Zeilen erstreckt oder in mehrere Segmente unterteilt wird, legt die Eigenschaft column-rule-break fest. Innere Unterbrechungen zwischen column-rule-Segmenten entsprechen in ihrer Größe dem Wert von row-gap. Ein Kreuzungsendpunkt befindet sich am oberen Ende jedes Spaltensegments, dessen oberes Ende an einer Lückenkreuzung liegt, an der weitere Spalten- oder rule-Segmente vorhanden sind.
Die Eigenschaft column-rule-inset-junction-start ist Bestandteil mehrerer Kurzschreibweisen:
-
Um die oberen und unteren Kreuzungsendpunkte von Spaltensegmenten nach innen zu versetzen, können
column-rule-inset-junction-startundcolumn-rule-inset-junction-endmit der Kurzschreibweisecolumn-rule-inset-junctionfestgelegt werden. -
Um alle oberen Endpunkte von Spaltensegmenten nach innen zu versetzen, können
column-rule-inset-junction-startundcolumn-rule-inset-cap-startmit der Kurzschreibweisecolumn-rule-inset-startfestgelegt werden. -
Um die oberen, unteren, linken und rechten Kreuzungsendpunkte von Segmenten nach innen zu versetzen, können die Kurzschreibweisen
column-rule-inset-junctionundrow-rule-inset-junctionmit der Kurzschreibweiserule-inset-junctionfestgelegt werden.
Alle Segmentendpunkte, einschließlich der dieser Eigenschaft entsprechenden Varianten mit -start, -cap und row-, können mit der Kurzschreibweise rule-inset festgelegt werden.
Kreuzungsendpunkte verstehen
Ein Endpunkt eines Kreuzungssegments ist ein Segmentendpunkt an einer inneren Lücke, der an einer Lückenkreuzung endet, an der weitere rule- oder Spaltensegmente vorhanden sind. Die Eigenschaft column-rule-inset-junction-start steuert den Versatz der oberen Kante von Spalten-Kreuzungssegmenten. Dadurch können die Segmente verkürzt oder verlängert werden.
Längenwerte für column-rule-inset-junction-start versetzen Segmente um den angegebenen Wert nach innen. Negative Längenwerte bewirken einen Versatz nach außen und verlängern das obere Ende des Kreuzungssegments. Prozentwerte beziehen sich auf die Größe von row-gap. Mit -50% wird das obere Ende des Kreuzungssegments bis zur Mitte der Zeilenlücke oberhalb des Segments verlängert, unabhängig davon, wie breit die Zeilenlücke ist.
In der folgenden Demonstration beginnen die column-rule-Segmente in den letzten beiden Zeilen an Kreuzungsendpunkten. Wenn column-rule-inset-junction-start: 16px festgelegt ist, werden die oberen Enden dieser Segmente um 16px nach innen versetzt. Ändern Sie den <length>-Wert für den Versatz, um besser zu erkennen, welche Spaltensegmente an Kreuzungsendpunkten beginnen.
Wenn Sie 0px als Wert festlegen, liegen die Anfänge der column-rules auf einer Höhe mit dem oberen Rand der Zeile und grenzen an die Zeilenlücke. Dies ist die Standardeinstellung. Beachten Sie, dass sich bei einer Änderung des Eigenschaftswerts nur die oberen Enden der Segmente in der Mitte des Grids ändern. Die Segmente in der ersten Zeile ändern sich nicht: Ihre Endpunkte sind Cap-Endpunkte und werden von der Eigenschaft column-rule-inset-junction-start nicht beeinflusst.
Wählen Sie around und between als Werte für rule-visibility-items aus. Bei around werden rules in einem Lückensegment gezeichnet, wenn ein Element mindestens einen der beiden angrenzenden Bereiche belegt. Bei between werden rules in Lückensegmenten nur dann gezeichnet, wenn Elemente beide angrenzenden Bereiche belegen. Endet ein rule-Segment an einer inneren Kreuzung, an der keine weiteren rule-Segmente vorhanden sind, handelt es sich bei seinem Endpunkt um einen Cap-Endpunkt. Dieser wird von der Eigenschaft column-rule-inset-junction-start nicht beeinflusst.
Der Wert overlap-join
Der Wert overlap-join verlängert das obere Ende innerer Segmente nach außen, sodass es auf einer Höhe mit der Oberkante der kreuzenden row-rule liegt. Der Wert ergibt sich aus der Hälfte der Größe von row-gap (wodurch das Segment bis zur Mitte der Lücke reicht) plus der Hälfte der Breite der row-rule.
Wenn column-rule-inset-junction-start auf das Schlüsselwort overlap-join gesetzt ist, reichen die Enden der Kreuzungssegmente nach oben in die Zeilenlücke hinein, bis sie auf die Oberkante der dort gezeichneten row-rule treffen und sich mit ihr verbinden.
Im folgenden interaktiven Beispiel ist column-rule-inset-junction-start auf overlap-join gesetzt:
Ändern Sie die Werte von row-rule-width und row-gap. Beachten Sie, dass das obere Ende des Spaltensegments unabhängig von der Größe der Lücke oder der Breite der row-rule stets so weit verlängert wird, dass es auf einer Höhe mit der Oberkante der in der Lücke gezeichneten row-rule liegt.
Formale Definition
Wert in der Datenbank nicht gefunden!Formale Syntax
column-rule-inset-junction-start =
<inset-value>
<inset-value> =
<length-percentage> |
overlap-join
<length-percentage> =
<length> |
<percentage>
Beispiele
>Grundlegende Verwendung
Dieses Beispiel zeigt, wie column-rule-inset-junction-start festgelegt wird, um die Anfangskante von Spalten-Kreuzungssegmenten in Flex-Containern nach innen zu versetzen.
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 column 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 Zeilen- als auch in Spaltenlücken gezeichnet wird. Anschließend überschreiben wir column-rule-color und legen für die Dekoration der Spaltenlücken ein dunkleres blue fest. Außerdem setzen wir die Eigenschaft rule-overlap auf row-over-column, damit die Spaltensegmente bei Überlappungen unter den Zeilensegmenten gezeichnet werden. Schließlich setzen wir column-rule-inset-junction-start auf 16px.
.flexbox {
display: flex;
flex-wrap: balance;
flex-line-count: 3;
gap: 20px;
rule: 5px solid lightblue;
column-rule-color: blue;
rule-overlap: row-over-column;
column-rule-inset-junction-start: 16px;
}
Für den Container .column setzen wir außerdem flex-direction auf column. Dadurch verläuft die Hauptachse des Flex-Containers vertikal, und die Elemente werden in Spalten statt in Zeilen angeordnet.
.column {
flex-direction: column;
}
Der übrige CSS-Code ist der Kürze halber ausgeblendet.
Ergebnis
Ändern Sie die Größe des Versatzes. Beachten Sie, dass in dem Beispiel, in dem die column-rule aus einem einzigen Segment besteht, das von unten nach unten verläuft, dieses Segment zwei Cap-Endpunkte und keine Kreuzungsendpunkte hat. Eine Änderung des Werts von column-rule-inset-junction-start wirkt sich daher nicht auf dieses Beispiel aus.
Spezifikationen
| Spezifikation |
|---|
| CSS Gaps Module Level 1> # propdef-column-rule-inset-junction-start> |
Browser-Kompatibilität
Siehe auch
column-rule-inset-junction-endcolumn-rule-inset-junction-Kurzschreibweisecolumn-rule-inset-Kurzschreibweiserule-inset-Kurzschreibweisecolumn-rule-breakrule-break-Kurzschreibweiserule-overlaprule-visibility-itemsrule-Kurzschreibweise- Modul CSS gaps