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 column-rule-inset-junction-end-CSS-Eigenschaft können die unteren Endpunkte von Column-Rule-Segmenten versetzt werden, wenn es sich dabei um Kreuzungsendpunkte handelt, also um Endpunkte an Schnittstellen von Abständen, an denen sich Rule-Segmente 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

Für diese Eigenschaft wird ein einzelner Wert aus der folgenden Liste angegeben:

overlap-join

Legt fest, dass sich das Segment an der Kreuzung über die Row-Rule erstrecken soll. Der Wert entspricht der Hälfte des row-gap-Werts plus der Hälfte des verwendeten row-rule-width-Werts.

<length-percentage>

Legt die Größe des Versatzes fest. Prozentwerte beziehen sich auf den Kreuzungsendpunkt, also auf den row-gap-Wert.

Beschreibung

Mit der Eigenschaft column-rule-inset-junction-end können Endpunkte von Segmenten an Kreuzungen am unteren 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 eines Spaltenabstands als ein oder mehrere Segmente gezeichnet. Solche Segmente befinden sich zwischen:

  • 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 aufgeteilt wird, legt die Eigenschaft column-rule-break fest. Innere Unterbrechungen zwischen Column-Rule-Segmenten haben die Größe von row-gap. Ein Kreuzungsendpunkt befindet sich am unteren Ende jedes Column-Segments, dessen unteres Ende an einer Schnittstelle von Abständen liegt, an der weitere Column- oder Rule-Segmente vorhanden sind.

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

Alle Segmentendpunkte, einschließlich der entsprechenden Varianten mit -start, -cap und row-, können mit der Kurzschreibweise rule-inset festgelegt werden.

Kreuzungsendpunkte verstehen

Ein Kreuzungsendpunkt eines Segments ist ein Segmentendpunkt an einem inneren Abstand, der an einer Schnittstelle von Abständen endet, an der weitere Rule- oder Column-Segmente vorhanden sind. Die Eigenschaft column-rule-inset-junction-end steuert den Versatz der unteren Kante von Column-Segmenten an Kreuzungen. Dadurch können die Segmente verkürzt oder verlängert werden.

Längenwerte für column-rule-inset-junction-end versetzen Segmente um den angegebenen Wert nach innen. Negative Längenwerte bewirken einen Versatz nach außen und verlängern das untere Ende des Segments an der Kreuzung. Prozentwerte beziehen sich auf die Größe von row-gap. Mit -50% wird das untere Ende des Segments an der Kreuzung bis zur Mitte des darunterliegenden Zeilenabstands verlängert – unabhängig davon, wie breit dieser Abstand ist.

In der folgenden Demonstration enden die Column-Rule-Segmente in den oberen beiden Zeilen an Kreuzungsendpunkten. Wenn column-rule-inset-junction-end: 16px festgelegt ist, werden die unteren Enden dieser Segmente um 16px nach innen versetzt. Ändern Sie den Versatzwert <length>, um besser zu erkennen, welche Segmente an Kreuzungsendpunkten enden.

Wenn Sie 0px als Wert festlegen, schließen die Enden der Column-Rules mit dem Zeilenende ab und grenzen an den Zeilenabstand. 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 unteren Zeile ändern sich nicht: Ihre Endpunkte sind Abschlussendpunkte 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 Rules in einem Abstandssegment gezeichnet, wenn sich in mindestens einem der beiden angrenzenden Bereiche ein Element befindet. Die Column-Rule-Segmente im Doppellinienstil, die bei rule-visibility-items: around erscheinen, enden an einer inneren Schnittstelle, an der ein oder mehrere Row-Rule-Segmente vorhanden sind. Diese Column-Segmente haben Kreuzungsendpunkte.

Wählen Sie between als Wert für rule-visibility-items. Bei diesem Wert werden Rules in Abstandssegmenten nur gezeichnet, wenn sich in beiden angrenzenden Bereichen Elemente befinden. Die Column-Rule-Segmente im Doppellinienstil enden nun an einer inneren Schnittstelle, an der keine weiteren Rule-Segmente vorhanden sind. Ihre Endpunkte sind daher Abschlussendpunkte von Segmenten und werden von der Eigenschaft column-rule-inset-junction-end nicht beeinflusst.

Der Wert overlap-join

Der Wert overlap-join versetzt das untere Ende innerer Segmente nach außen, sodass es mit der Unterkante der kreuzenden Row-Rule abschließt. Der Wert entspricht der Hälfte von row-gap – womit das Segment bis zur Mitte des Abstands reichen würde – plus der Hälfte der Breite der Row-Rule.

Wenn column-rule-inset-junction-end auf das Schlüsselwort overlap-join gesetzt ist, reichen die unteren Enden der Segmente an Kreuzungen in den Zeilenabstand hinein, bis sie auf die Unterkante der dort gezeichneten Row-Rule treffen beziehungsweise sich mit ihr „verbinden“.

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

Ändern Sie die Größe von row-rule-width und row-gap. Beachten Sie, dass das untere Ende des Column-Segments unabhängig von der Größe des Abstands oder der Row-Rule immer so weit verlängert wird, dass es mit der Unterkante der im Abstand gezeichneten Row-Rule 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 column-rule-inset-junction-end festgelegt wird, um die Endkanten von Segmenten an Kreuzungen 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.

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 Spaltenabständen gezeichnet wird. Anschließend überschreiben wir column-rule-color, um für die Spaltenabstände ein dunkleres blue festzulegen. Außerdem setzen wir rule-overlap auf column-over-row, damit Column-Segmente bei Überlappungen über den Row-Segmenten 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;
}

Zusätzlich setzen wir flex-direction für den Container .column auf column. Dadurch verläuft die Hauptachse des Flex-Containers von oben nach unten, 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 Versatzes. Beachten Sie, dass im rechten Beispiel die Column-Rule aus einem einzigen Segment besteht, das von oben nach unten verläuft. Dieses Segment hat zwei Abschlussendpunkte und keine Kreuzungsendpunkte. Daher wirkt sich eine Änderung des Werts von column-rule-inset-junction-end nicht auf dieses Beispiel aus.

Spezifikationen

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

Browser-Kompatibilität

Siehe auch