Visitar URL original
column-rule-inset-junction CSS property - CSS | MDN

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 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.

Die CSS-Kurzschreibweise column-rule-inset-junction kann verwendet werden, um sowohl den oberen als auch den unteren Endpunkt von Spaltenliniensegmenten zu versetzen, die Kreuzungsendpunkte sind. Das sind Endpunkte an Kreuzungen von Abständen, an denen sich Liniensegmente schneiden.

Probieren Sie es aus

column-rule-inset-junction: 0;
column-rule-inset-junction: 10px;
column-rule-inset-junction: 0.5em -0.5em;
column-rule-inset-junction: overlap-join;
column-rule-inset-junction: overlap-join 10px;
<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;
}

Bestandteile

Diese Eigenschaft ist eine Kurzschreibweise für die folgenden CSS-Eigenschaften:

Syntax

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

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

/* Two values */
column-rule-inset-junction: 0 1em;
column-rule-inset-junction: -5px -25%;
column-rule-inset-junction: overlap-join 10px;

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

Werte

Für diese Eigenschaft werden ein oder zwei Werte aus der folgenden Liste angegeben:

overlap-join

Gibt an, dass sich das Kreuzungssegment über die Zeilenlinie erstrecken 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 Kreuzungsendpunkt, der dem Wert von row-gap entspricht.

Beschreibung

Mit der Kurzschreibweise column-rule-inset-junction lassen sich die Eigenschaften column-rule-inset-junction-start und column-rule-inset-junction-end festlegen. Dadurch können sowohl der obere als auch der untere Endpunkt von Spaltenliniensegmenten an Kreuzungen nach innen oder außen versetzt werden.

Wird ein Wert angegeben, erhalten beide Eigenschaften diesen Wert. Werden zwei Werte angegeben, erhält -start den ersten und -end den zweiten Wert. Positive Werte verkürzen das Segment, indem sie seine Endpunkte nach innen versetzen. Negative Werte und das Schlüsselwort overlap-join verlängern es, indem sie die Endpunkte nach außen versetzen. Der Standardwert ist 0.

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

  • Um die Kreuzungsendpunkte von Spalten- und Zeilensegmenten nach innen zu versetzen, können die Kurzschreibweisen column-rule-inset-junction und row-rule-inset-junction über die Kurzschreibweise rule-inset-junction festgelegt werden.

  • Um sowohl die äußeren Endpunkte als auch die Kreuzungsendpunkte von Spaltensegmenten nach innen zu versetzen, können die Kurzschreibweisen column-rule-inset-junction und column-rule-inset-cap über die Kurzschreibweise column-rule-inset festgelegt werden.

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

Formale Definition

Wert in der Datenbank nicht gefunden!

Formale Syntax

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

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

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

Beispiele

Grundlegende Verwendung

Dieses Beispiel zeigt, wie column-rule-inset-junction verwendet wird, um die Endpunkte von Spaltensegmenten 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 mit rule eine hellblaue Linie für die Zeilen- und Spaltenabstände und überschreiben anschließend column-rule-color, um die Linien in den Spaltenabständen auf ein dunkleres blue zu setzen. Außerdem setzen wir die Eigenschaft rule-overlap auf column-over-row, damit Spaltensegmente über Zeilensegmenten gezeichnet werden, wenn sie sich überlappen. Schließlich setzen wir column-rule-inset-junction 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: 16px;
}

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

css
.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 Spaltenlinien betrifft, die in mehrere Segmente aufgeteilt sind. Besteht eine Spaltenlinie aus einem einzigen Segment, das sich über die Höhe des Containers erstreckt, hat dieses Segment zwei äußere Endpunkte und keine Kreuzungsendpunkte. Änderungen am Wert von column-rule-inset-junction wirken sich dann nicht darauf aus.

Mit Grid-Layout

Dieses Beispiel zeigt, wie Sie mit der Eigenschaft column-rule-inset-junction den oberen und den unteren Endpunkt von Kreuzungssegmenten in einem Grid-Container um unterschiedliche Werte nach innen versetzen.

HTML

Wir verwenden ein <ul>-Element als Container mit mehreren <li>-Kindelementen, die jeweils zu einem Grid-Element werden.

html
<ul id="ul">
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li>5</li>
  <li>6</li>
  <li>7</li>
  <li>8</li>
  <li>9</li>
  <li>10</li>
  <li>11</li>
  <li>12</li>
  <li>13</li>
  <li>15</li>
  <li>16</li>
</ul>

CSS

Wir machen das <ul> zu einem Grid-Container, indem wir die Eigenschaft display auf grid setzen. Die Eigenschaft grid-template-columns legt fest, dass das Grid sechs Spalten hat. Mit list-style-type entfernen wir die Aufzählungszeichen und setzen die Zeilen- und Spaltenabstände mit der Kurzschreibweise gap auf 20px. Farbe, Breite und Linienstil aller Linien legen wir mit der Kurzschreibweise rule fest. Anschließend ändern wir mit der Eigenschaft row-rule-color nur die Farbe der Zeilenlinien.

Mit der Eigenschaft column-rule-break unterbrechen wir die Spaltenlinien an jeder Kreuzung. Würden die Spaltenlinien nicht unterbrochen, gäbe es keine Spaltensegmente an Kreuzungen, die gestaltet werden könnten!

Schließlich setzen wir mit der Eigenschaft column-rule-inset-junction den Einzug am Anfang jedes Spaltensegments an einer Kreuzung auf 16px, während das Ende nicht nach innen versetzt wird.

Außerdem legen wir fest, dass sich das sechste Grid-Element über drei Spalten erstreckt.

css
ul {
  display: grid;
  grid-template-columns: repeat(6, auto);
  list-style-type: "";
  gap: 20px;
  rule: 10px solid olive;
  row-rule-color: palegoldenrod;
  column-rule-break: intersection;

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

li:nth-of-type(8) {
  grid-column-end: span 3;
}

Der übrige CSS-Code ist der Kürze halber ausgeblendet.

Ergebnis

Spezifikationen

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

Browser-Kompatibilität

Siehe auch