Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

column-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 column-rule-inset-junction-end lassen sich die unteren Endpunkte von Spaltenliniensegmenten versetzen, sofern es sich um Knoten-Endpunkte handelt, also um Endpunkte an Zwischenraumkreuzungen, an denen sich Liniensegmente schneiden.

Probieren Sie es aus

column-rule-inset-junction-end: 0;
column-rule-inset-junction-end: 0.5em;
column-rule-inset-junction-end: 10px;
column-rule-inset-junction-end: -100%;
column-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>
  </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;
  padding: 1em;
}

Syntax

css
/* Keywords */
column-rule-inset-junction-end: overlap-join;

/* <length-percentage> values */
column-rule-inset-junction-end: 0;
column-rule-inset-junction-end: 1em;
column-rule-inset-junction-end: -5px;
column-rule-inset-junction-end: -25%;

/* Global values */
column-rule-inset-junction-end: inherit;
column-rule-inset-junction-end: initial;
column-rule-inset-junction-end: revert;
column-rule-inset-junction-end: revert-layer;
column-rule-inset-junction-end: unset;

Werte

Diese Eigenschaft wird mit einem einzelnen Wert aus der folgenden Liste angegeben:

overlap-join

Gibt an, dass das Segment am Knoten über die Zeilenlinie hinausreichen soll. Der Wert entspricht der Hälfte des Werts von row-gap plus der Hälfte des verwendeten Werts von row-rule-width.

<length-percentage>

Gibt die Größe des Einzugs an. Prozentwerte beziehen sich auf den Knoten-Endpunkt; maßgeblich ist dabei der Wert von row-gap.

Beschreibung

Mit der Eigenschaft column-rule-inset-junction-end lassen sich Knoten-Endpunkte von Segmenten am unteren Ende von Spaltenliniensegmenten ein- oder ausrücken. Der Standardwert ist 0. Positive Werte verkürzen das Segment, während negative Werte und das Schlüsselwort overlap-join es verlängern.

Spaltenlinien werden innerhalb eines Spaltenzwischenraums als ein oder mehrere Segmente gezeichnet. Solche Segmente treten zwischen folgenden Bereichen 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 eine Spaltenlinie mehrere Zeilen überspannt oder in mehrere Segmente unterteilt wird, legt die Eigenschaft column-rule-break fest. Innere Unterbrechungen zwischen Spaltenliniensegmenten entsprechen der Größe von row-gap. Ein Knoten-Endpunkt liegt am unteren Ende jedes Spaltensegments vor, dessen unteres Ende an einer Zwischenraumkreuzung liegt, an der weitere Spalten- oder Liniensegmente vorhanden sind.

Die Eigenschaft column-rule-inset-junction-end ist Bestandteil mehrerer Kurzschreibweisen:

Alle Segment-Endpunkte, einschließlich der -start-, -cap- und row--Entsprechungen dieser Eigenschaft, können über die Kurzschreibweise rule-inset festgelegt werden.

Knoten-Endpunkte verstehen

Ein Knoten-Endpunkt eines Segments ist ein Segment-Endpunkt an einem inneren Zwischenraum, der an einer Zwischenraumkreuzung endet, an der weitere Linien- oder Spaltensegmente vorhanden sind. Die Eigenschaft column-rule-inset-junction-end steuert den Einzug der unteren Kante von Spaltensegmenten an solchen Knoten. Dadurch lassen sich die Segmente verkürzen oder verlängern.

column-rule-inset-junction-end-Werte mit Längeneinheiten rücken Segmente um den angegebenen Wert ein. Negative Längenwerte bewirken ein Ausrücken und verlängern das untere Ende des Segments. Prozentwerte beziehen sich auf die Größe von row-gap. Mit -50% wird das untere Ende des Segments bis zur Mitte des darunterliegenden Zeilenzwischenraums verlängert – unabhängig davon, wie breit dieser ist.

In der folgenden Demonstration enden die Spaltenliniensegmente in den oberen beiden Zeilen an Knoten-Endpunkten. Bei column-rule-inset-junction-end: 16px wird das untere Ende dieser Segmente um 16px eingerückt. Ändern Sie den <length>-Wert für den Einzug, um besser zu erkennen, welche Segmente an Knoten-Endpunkten enden.

Wenn Sie 0px als Wert festlegen, schließen die Spaltenlinien am Ende der Zeile ab und grenzen unmittelbar an den Zeilenzwischenraum. Dies ist die Standardeinstellung. Beachten Sie, dass sich bei einer Änderung des Eigenschaftswerts nur die unteren Enden der Segmente in der Mitte des Grids ändern. Die Segmente in der untersten Zeile bleiben unverändert: Ihre Endpunkte sind äußere Endpunkte und werden von der Eigenschaft column-rule-inset-junction-end nicht beeinflusst.

Wählen Sie around als Wert für rule-visibility-items. Bei diesem Wert werden Linien in einem Zwischenraumsegment gezeichnet, wenn mindestens einer der beiden angrenzenden Bereiche ein Element enthält. Die Spaltenliniensegmente im doppelten Linienstil, die bei rule-visibility-items: around erscheinen, enden an einer inneren Kreuzung, an der mindestens ein Zeilenliniensegment vorhanden ist. Ihre Endpunkte sind daher Knoten-Endpunkte.

Wählen Sie between als Wert für rule-visibility-items. Dabei werden Linien in Zwischenraumsegmenten nur gezeichnet, wenn beide angrenzenden Bereiche Elemente enthalten. Die Spaltenliniensegmente im doppelten Linienstil enden nun an einer inneren Kreuzung, an der keine weiteren Liniensegmente vorhanden sind. Ihre Endpunkte sind daher äußere Segment-Endpunkte und werden von der Eigenschaft column-rule-inset-junction-end nicht beeinflusst.

Der Wert overlap-join

Der Wert overlap-join verlängert das untere Ende innerer Segmente so, dass es mit der Unterkante der kreuzenden Zeilenlinie abschließt. Der Wert entspricht der Hälfte der Größe von row-gap – womit das Segment bis zur Mitte des Zwischenraums reichen würde – plus der Hälfte der Breite der Zeilenlinie.

Wenn column-rule-inset-junction-end auf das Schlüsselwort overlap-join gesetzt ist, reichen die unteren Enden der Segmente mit Knoten-Endpunkten in den Zeilenzwischenraum hinein, bis sie an die Unterkante der dort gezeichneten Zeilenlinie anschließen.

Im folgenden interaktiven Beispiel ist column-rule-inset-junction-end auf overlap-join gesetzt:

Ändern Sie die Werte von row-rule-width und row-gap. Beachten Sie, dass das untere Ende des Spaltensegments unabhängig von der Größe des Zwischenraums oder der Breite der Zeilenlinie stets so verlängert wird, dass es mit der Unterkante der im Zwischenraum gezeichneten Zeilenlinie abschließt.

Formale Definition

Wert in der Datenbank nicht gefunden!

Formale Syntax

column-rule-inset-junction-end = 
<inset-value>

<inset-value> =
<length-percentage> |
overlap-join

<length-percentage> =
<length> |
<percentage>

Beispiele

Grundlegende Verwendung

Dieses Beispiel zeigt, wie Sie mit column-rule-inset-junction-end die Endkante von Segmenten an Knoten in Flex-Containern einrücken.

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.

html
<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 Spaltenzwischenräumen gezeichnet wird. Anschließend überschreiben wir column-rule-color und legen für die Linien in den Spaltenzwischenräumen ein dunkleres blue fest. Außerdem setzen wir rule-overlap auf column-over-row, damit Spaltensegmente bei Überlappungen über den Zeilensegmenten gezeichnet werden. Schließlich setzen wir column-rule-inset-junction-end auf 16px.

css
.flexbox {
  display: flex;
  flex-wrap: balance;
  flex-line-count: 3;
  gap: 20px;
  rule: 5px solid lightblue;
  column-rule-color: blue;
  rule-overlap: column-over-row;

  column-rule-inset-junction-end: 16px;
}

Für den Container .column setzen wir außerdem flex-direction auf column. Dadurch verläuft die Hauptachse des Flex-Containers vertikal auf der Seite, und die Elemente werden in Spalten statt in Zeilen angeordnet.

css
.column {
  flex-direction: column;
}

Das übrige CSS ist der Kürze halber ausgeblendet.

Ergebnis

Ändern Sie die Größe des Einzugs. Beachten Sie, dass die Spaltenlinie im rechten Beispiel aus einem einzigen Segment besteht, das von oben nach unten verläuft. Dieses Segment hat zwei äußere Endpunkte und keine Knoten-Endpunkte. Eine Änderung des Werts von column-rule-inset-junction-end wirkt sich daher nicht auf dieses Beispiel aus.

Spezifikationen

Spezifikation
CSS Gaps Module Level 1
# propdef-column-rule-inset-junction-end

Browser-Kompatibilität

Siehe auch