column-rule-inset-cap-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-cap-start lässt sich die obere Kante von Abschlussendpunkten von Spaltentrennliniensegmenten versetzen: sowohl am Anfangsrand des Containers als auch an Stellen, an denen keine anderen Trennliniensegmente aufeinandertreffen.
Probieren Sie es aus
column-rule-inset-cap-start: -20px;
column-rule-inset-cap-start: 0;
column-rule-inset-cap-start: 1em;
column-rule-inset-cap-start: 100%;
column-rule-inset-cap-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 id="y">Y</i>
<i id="z">Z</i>
<i id="bang">!</i>
</div>
</section>
#example-element {
display: grid;
grid-template-columns: repeat(7, 1fr);
rule: solid thick magenta;
column-rule-color: rebeccapurple;
gap: 1em;
rule-overlap: column-over-row;
rule-visibility-items: between;
border: 1px solid rebeccapurple;
overflow: visible;
margin: 1em;
}
#example-element i {
padding: 8px;
border: 1px dashed;
}
#y {
grid-column: 4 / 5;
grid-row: 4 / 5;
}
#z {
grid-column: 5 / 6;
grid-row: 4 / 5;
}
#bang {
grid-column: 6 / 7;
grid-row: 4 / 5;
}
Syntax
/* Keywords */
column-rule-inset-cap-start: overlap-join;
/* <length-percentage> values */
column-rule-inset-cap-start: 0;
column-rule-inset-cap-start: 1em;
column-rule-inset-cap-start: -5px;
column-rule-inset-cap-start: -25%;
/* Global values */
column-rule-inset-cap-start: inherit;
column-rule-inset-cap-start: initial;
column-rule-inset-cap-start: revert;
column-rule-inset-cap-start: revert-layer;
column-rule-inset-cap-start: unset;
Werte
Für diese Eigenschaft wird ein einzelner Wert aus der folgenden Liste angegeben:
overlap-join-
Wird zu
0aufgelöst. <length-percentage>-
Gibt die Größe des Einzugs an. Prozentwerte beziehen sich auf den Abschlussendpunkt; die Bezugsgröße ist entweder die Breite von
row-gapoder0.
Beschreibung
Mit der Eigenschaft column-rule-inset-cap-start lässt sich der Anfangsrand von Abschlussendpunkten von Segmenten einziehen. Der Standardwert ist 0 und entspricht overlap-join. Positive Werte verkürzen das Segment, negative Werte verlängern es.
Spaltentrennlinien werden innerhalb eines Spaltenabstands als ein oder mehrere Segmente gezeichnet. Solche Segmente verlaufen zwischen:
- Benachbarten Spalten in CSS-Grid-Layouts.
- Flex-Elementen oder Flex-Zeilen in Flex-Layouts, abhängig von
flex-direction. - Spalten in mehrspaltigen Layouts.
Längenwerte für column-rule-inset-cap-start ziehen Segmente um den angegebenen Wert ein – sowohl Segmente mit Abschlussendpunkten im Inneren als auch solche am Rand. Negative Längenwerte bewirken einen Überstand; dabei reichen Segmente mit Abschlussendpunkten am Rand über den Anfangsrand des Containers hinaus.
Prozentwerte für Segmente im Inneren beziehen sich auf die Größe von row-gap. Bei Abschlussendpunkten am Anfangsrand beziehen sich Prozentwerte auf 0. Daher können Prozentwerte nicht dazu führen, dass Abschlussendpunkte am Anfangsrand des Containers über den Container hinausragen.
Die Eigenschaft column-rule-inset-cap-start ist Bestandteil mehrerer Kurzschreibweisen:
-
Um sowohl den Anfangs- als auch den Endabschluss einzuziehen, können
column-rule-inset-cap-startundcolumn-rule-inset-cap-endmit der Kurzschreibweisecolumn-rule-inset-capfestgelegt werden. -
Um den Anfang aller Spaltensegmentendpunkte einzuziehen, können
column-rule-inset-cap-startundcolumn-rule-inset-junction-endmit der Kurzschreibweisecolumn-rule-inset-endfestgelegt werden.
Alle Segmentendpunkte, einschließlich der -end-, -junction- und row--Entsprechungen dieser Eigenschaft, können mit der Kurzschreibweise rule-inset festgelegt werden.
Anfang von Abschlusssegmenten verstehen
Ein Abschlussendpunkt eines Segments ist jeder Segmentendpunkt, der kein Verbindungspunkt ist. Dazu gehören Endpunkte an den Inhaltsrändern des Containers sowie Endpunkte an einer Kreuzung von Abständen, an der keine anderen Trennliniensegmente vorhanden sind.
Die Eigenschaft column-rule-inset-cap-start steuert den Einzug der oberen Kante von Abschlussendpunkten von Spaltensegmenten. Dadurch können die Segmente verkürzt oder verlängert werden. Anders ausgedrückt: Mit der Eigenschaft lässt sich die obere Kante von Spaltentrennliniensegmenten verändern, die an den oberen Containerrand grenzen oder deren oberes Ende an einem Abstand im Inneren liegt, an dem keine anderen Spalten- oder Zeilentrennliniensegmente vorhanden sind.
Abschlussendpunkte von Spaltensegmenten werden nicht von den Einstellungen der Eigenschaft column-rule-break beeinflusst; diese steuern nur Unterbrechungen an Verbindungspunkten. Sie werden jedoch von den rule-visibility-items-Eigenschaften beeinflusst. Diese legen fest, ob Spalten- und Zeilentrennliniensegmente in Abständen neben leeren Bereichen gezeichnet werden.
Abschlussendpunkte von Spaltensegmenten gibt es nur am Rand des Containers und an Abständen im Inneren, an denen keine anderen Spalten- oder Zeilentrennliniensegmente vorhanden sind. Ob Segmente gezeichnet werden – oder gezeichnet würden, wenn rule auf einen sichtbaren Wert gesetzt wäre –, beeinflusst daher, welche Spaltensegmente einen Abschlussendpunkt am Anfang haben.
In der folgenden Demonstration beginnen die Spaltentrennliniensegmente mit durchgezogenem Linienstil an einem Abschlussendpunkt. Bei column-rule-inset-cap-start: 16px sind alle Spaltensegmente mit Abschlussendpunkten am oberen Containerrand um 16px eingerückt. Ändern Sie den Einzugswert <length>, um besser zu erkennen, welche Segmente an Abschlussendpunkten beginnen.
Ändern Sie den Einzug. Bei 0px ist der Anfang der Spaltentrennlinien am Anfang des Containers ausgerichtet. Dies ist die Standardeinstellung. Mit -32px stehen die Segmente um 32px über, sodass die Linien 32px über den Anfangsrand des Containers hinaus gezeichnet werden. Da Spaltentrennlinien das Boxmodell nicht beeinflussen, wirken sich diese Linien weder auf das Layout des Containers noch auf den übrigen Inhalt aus.
Wählen Sie between als Wert für rule-visibility-items. Bei diesem Wert wird eine Trennlinie in einem Abstandssegment nur gezeichnet, wenn beide angrenzenden Bereiche Elemente enthalten. Ändern Sie den Einzug und beobachten Sie dabei die drei Spaltentrennlinien mit doppeltem Linienstil: Sie haben nicht nur einen Abschlussendpunkt am Anfangsrand des Containers, sondern jeweils noch einen weiteren Abschlussendpunkt. Ihre Spaltentrennliniensegmente beginnen an Abständen im Inneren, an denen keine Zeilentrennliniensegmente vorhanden sind. Daher sind auch diese Segmentanfänge Abschlussendpunkte und werden von column-rule-inset-cap-start beeinflusst.
Mit around als Wert für rule-visibility-items werden Trennlinien in einem Abstandssegment gezeichnet, sofern mindestens ein angrenzender Bereich ein Element enthält. In diesen Fällen befindet sich am oberen Ende der Segmente an den Abständen im Inneren ein Zeilentrennliniensegment. Die Anfänge dieser Spaltensegmente sind Verbindungspunkte und keine Abschlussendpunkte. Deshalb werden sie nicht von column-rule-inset-cap-start beeinflusst. Der Einzug von Spaltensegmenten, die an einer Kreuzung von Abständen im Inneren beginnen, lässt sich mit column-rule-inset-junction-start steuern.
Prozentwerte verstehen
Die Bezugsgröße eines Prozentwerts hängt von der Position des Endpunkts ab. Bei Endpunkten im Inneren beziehen sich Prozentwerte auf die Breite des Abstands am Abschlussendpunkt – also auf row-gap, wenn der Endpunkt an einen Trennlinienabstand grenzt. Am oberen Containerrand beträgt die Bezugsgröße 0.
Dieses Beispiel ist nicht fehlerhaft: Alle Abschlusssegmente beginnen am Containerrand, sodass ihre Einzüge standardmäßig 0 betragen.
Wenn Sie around als Wert für rule-visibility-items auswählen, wird ebenfalls keines der Segmente eingezogen. Prozentuale Einzugswerte für Spaltensegmente, die am Containerrand beginnen, werden alle zu 0 aufgelöst. Spaltensegmente, die an Abständen im Inneren beginnen, haben dagegen keinen Abschlussendpunkt am Anfang: An den betreffenden Kreuzungen sind Zeilentrennliniensegmente vorhanden. Ihr Einzug wird daher stattdessen durch column-rule-inset-junction-start bestimmt.
Wählen Sie between als Wert für rule-visibility-items. Die Spaltentrennlinien mit zwei Segmenten, die an Abschlussendpunkten beginnen, haben den Linienstil double. Wie zuvor beginnt bei jeder dieser Trennlinien ein Spaltentrennliniensegment an einem Abstand im Inneren, an dem keine anderen Trennliniensegmente vorhanden sind. Für diese Segmente bezieht sich der prozentuale Versatz auf die Breite von row-gap, die hier 20px beträgt.
Mit 100% werden die Anfänge der Abschlusssegmente um 20px eingezogen. Mit -200% stehen diese Segmente um 40px über: Die Linien werden durch den 20px breiten Abstand gezeichnet und ragen weitere 20px in die Zeile oberhalb der Elemente. Wäre der negative Wert größer als die Summe aus der Höhe der ersten Zeile und dem Zeilenabstand, würde die Trennlinie über den Anfangsrand des Containers hinausragen.
Formale Definition
Wert in der Datenbank nicht gefunden!Formale Syntax
column-rule-inset-cap-start =
<inset-value>
<inset-value> =
<length-percentage> |
overlap-join
<length-percentage> =
<length> |
<percentage>
Beispiele
>Grundlegende Verwendung
Dieses Beispiel zeigt, wie column-rule-inset-cap-start festgelegt wird, um den Anfangsrand von Abschlusssegmenten in Flex-Containern einzuziehen.
HTML
<h1>Insetting cap 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 Spaltenabständen gezeichnet wird. Anschließend überschreiben wir column-rule-color, um die Spaltenabstände mit dem dunkleren blue zu gestalten. Zuletzt setzen wir column-rule-inset-cap-start auf 16px.
.flexbox {
display: flex;
flex-wrap: balance;
flex-line-count: 3;
gap: 20px;
rule: 5px solid lightblue;
column-rule-color: blue;
column-rule-inset-cap-start: 16px;
}
Danach legen wir flex-direction für den Container .column fest, damit seine Elemente in Spalten statt in Zeilen angeordnet werden.
.column {
flex-direction: column;
}
Das übrige CSS ist der Kürze halber ausgeblendet.
Ergebnis
Ändern Sie die Größe des Einzugs.
Spezifikationen
| Spezifikation |
|---|
| CSS Gaps Module Level 1> # propdef-column-rule-inset-cap-start> |
Browser-Kompatibilität
Siehe auch
row-rule-inset-cap-startcolumn-rule-inset-cap-endcolumn-rule-inset-junction-startcolumn-rule-inset-start-Kurzschreibweisecolumn-rule-inset-cap-Kurzschreibweisecolumn-rule-inset-Kurzschreibweiserule-inset-start-Kurzschreibweiserule-inset-caprule-inset-Kurzschreibweisecolumn-rule-breakrule-break-Kurzschreibweiserule-overlaprule-visibility-itemsrule-Kurzschreibweise- Modul CSS-Abstände