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

View in English Always switch to English

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

Mit der CSS-Eigenschaft row-rule-inset-junction-start lässt sich die Startkante von Zeilenliniensegmenten versetzen, deren Endpunkte Kreuzungsendpunkte sind – also Endpunkte an Lückenkreuzungen, an denen sich Liniensegmente schneiden.

Probieren Sie es aus

row-rule-inset-junction-start: 0;
row-rule-inset-junction-start: 0.5em;
row-rule-inset-junction-start: 5px;
row-rule-inset-junction-start: -50%;
row-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>
    <i>M</i>
    <i>N</i>
    <i>O</i>
    <i>P</i>
    <i>Q</i>
    <i>R</i>

    <i id="u">U</i>
    <i id="x">X</i>
    <i id="y">Y</i>
    <i id="bang">!</i>
  </div>
</section>
#example-element {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  rule: solid thick lightpink;
  row-rule-color: magenta;
  row-rule-break: intersection;
  gap: 1.5em;
  rule-overlap: row-over-column;
  border: 1px solid rebeccapurple;
  margin: auto;
  rule-visibility-items: around;
}
#example-element i {
  padding: 8px;
  border: 1px dashed;
}
#u {
  grid-row: 3 / 4;
  grid-column: 7 / 8;
}
#y {
  grid-row: 4 / 5;
  grid-column: 4 / 5;
}
#x {
  grid-column: 3 / 4;
  grid-row: 4 / 5;
}
#bang {
  grid-column: 6 / 7;
  grid-row: 4 / 5;
}

Syntax

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

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

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

Werte

Diese Eigenschaft wird durch einen einzelnen Wert aus der folgenden Liste angegeben:

overlap-join

Gibt an, dass das Segment an der Kreuzung über die Spaltenlinie hinausreichen soll. Der Wert ergibt sich aus der Hälfte des Werts von column-gap plus der Hälfte des verwendeten Werts von column-rule-width.

<length-percentage>

Gibt die Größe des Einzugs an. Prozentwerte beziehen sich auf den Kreuzungsendpunkt, dessen Bezugsgröße der Wert von column-gap ist.

Beschreibung

Mit der Eigenschaft row-rule-inset-junction-start lassen sich Kreuzungsendpunkte von Segmenten am Anfang von Zeilenliniensegmenten nach innen oder außen versetzen. Der Standardwert ist 0. Positive Werte verkürzen das Segment, während negative Werte und das Schlüsselwort overlap-join es verlängern.

Zeilenlinien werden innerhalb einer Zeilenlücke als ein oder mehrere Segmente gezeichnet. Solche Segmente befinden sich zwischen:

  • Benachbarten Zeilen in CSS-Grid-Layouts.
  • Benachbarten Flex-Elementen oder Flex-Zeilen in Flex-Layouts, abhängig von flex-direction.
  • Benachbarten Zeilen in mehrspaltigen Layouts, die auftreten können, wenn column-height auf einen <length>-Wert gesetzt ist.

Ob sich eine Zeilenlinie über mehrere Spalten erstreckt oder in mehrere Segmente aufgeteilt wird, bestimmt die Eigenschaft row-rule-break. Unterbrechungen zwischen Zeilenliniensegmenten haben die Größe von column-gap. Ein Kreuzungsanfang liegt am Anfang jedes Zeilenliniensegments vor, dessen Anfang an einer Lückenkreuzung mit weiteren Zeilen- oder Liniensegmenten liegt.

Die Eigenschaft row-rule-inset-junction-start ist Bestandteil mehrerer Kurzschreibweisen:

  • Um sowohl die linken als auch die rechten Kreuzungsendpunkte von Zeilenliniensegmenten einzurücken, können row-rule-inset-junction-start und die Eigenschaft row-rule-inset-junction-end über die Kurzschreibweise row-rule-inset-junction gesetzt werden.

  • Um die Anfangsendpunkte aller Zeilenliniensegmente einzurücken, können row-rule-inset-junction-start und die Eigenschaft row-rule-inset-cap-start über die Kurzschreibweise row-rule-inset-start gesetzt werden.

  • Um die oberen, unteren, linken und rechten Kreuzungsendpunkte von Segmenten einzurücken, können die Kurzschreibweisen row-rule-inset-junction und column-rule-inset-junction über die Kurzschreibweise rule-inset-junction gesetzt werden.

Alle Segmentendpunkte, einschließlich der entsprechenden -end-, -cap- und column--Eigenschaften, können über die Kurzschreibweise rule-inset gesetzt werden.

Kreuzungsendpunkte verstehen

Ein Kreuzungsendpunkt eines Segments ist ein Segmentendpunkt an einer inneren Lücke, der an einer Lückenkreuzung beginnt, an der weitere Spalten- oder Zeilenliniensegmente vorhanden sind. Die Eigenschaft row-rule-inset-junction-start steuert den Einzug der Startkante von Zeilenliniensegmenten an Kreuzungen und ermöglicht es, die Segmente zu verkürzen oder zu verlängern.

Längenwerte für row-rule-inset-junction-start rücken Segmente an Kreuzungen um den angegebenen Wert ein. Prozentwerte beziehen sich auf die Größe von column-gap. Negative Werte erzeugen einen Versatz nach außen und verlängern den Anfang des Segments an der Kreuzung. Bei -50% reicht der Anfang des Segments bis zur Mitte der angrenzenden Spaltenlücke – unabhängig davon, wie breit diese ist.

In der folgenden Demonstration beginnen die Zeilenliniensegmente in allen Spalten außer der ersten mit Kreuzungsendpunkten. Mit row-rule-inset-junction-start: 16px wird die linke Kante beziehungsweise die Startkante dieser Segmente um 16px eingerückt. Ändern Sie den <length>-Wert für den Einzug, um besser zu erkennen, welche Zeilenliniensegmente an Kreuzungsendpunkten beginnen.

Die Eigenschaft rule-break ist auf intersection gesetzt. Dadurch werden alle Zeilen- und Spaltenliniensegmente an jeder Lückenkreuzung unterbrochen. Standardmäßig grenzt der Anfang jedes inneren Zeilenliniensegments an eine Spaltenlücke. Der Standardwert der Eigenschaft row-rule-inset-junction-start ist 0.

Ändern Sie den Einzugswert. Beachten Sie, dass sich bei einer Änderung des Eigenschaftswerts nur die Anfänge der Zeilenliniensegmente im Inneren des Grids ändern. Die Segmentendpunkte an den Containerrändern ändern sich nicht: Sie sind äußere Endpunkte und werden von der Eigenschaft row-rule-inset-junction-start nicht beeinflusst.

Wählen Sie between als Wert für rule-visibility-items. Dieser Wert bewirkt, dass Linien in Lückensegmenten nur gezeichnet werden, wenn sich in beiden angrenzenden Bereichen Elemente befinden. Das Zeilenliniensegment zwischen 18 und 24 beginnt nun an einer inneren Kreuzung, an der kein weiteres Liniensegment vorhanden ist. Der Anfang dieses Zeilenliniensegments ist daher ein äußerer Segmentendpunkt und wird von der Eigenschaft row-rule-inset-junction-start nicht beeinflusst. Mit der Eigenschaft row-rule-inset-cap-start lässt sich dieser Segmentendpunkt einrücken.

Der Wert around zeichnet Linien in Lückensegmenten, wenn sich in mindestens einem der beiden angrenzenden Bereiche ein Element befindet. In diesem Beispiel wurden keine Kreuzungsendpunkte zu äußeren Segmentendpunkten, aber einige Segmente wurden nicht gezeichnet.

Der Wert overlap-join

Der Wert overlap-join versetzt den Anfang innerer Segmente nach außen, sodass er an der gegenüberliegenden Kante der gekreuzten Spaltenlinie ausgerichtet ist. Der Wert ergibt sich aus der halben Größe von column-gap – wodurch das Segment bis zur Mitte der Lücke reicht – plus der halben Breite der Spaltenlinie. Wenn row-rule-inset-junction-start auf das Schlüsselwort overlap-join gesetzt ist, reichen die Segmentanfänge an Kreuzungen in die Spaltenlücke hinein, bis sie auf die gegenüberliegende Kante der dort gezeichneten Spaltenlinie treffen und sich mit ihr „verbinden“.

Im folgenden interaktiven Beispiel ist row-rule-inset-junction-start auf overlap-join gesetzt:

Ändern Sie die Werte von column-rule-width und column-gap. Beachten Sie, dass der Anfang des Zeilenliniensegments unabhängig von der Größe der Lücke oder der Spaltenlinie stets über die Spaltenlinie hinaus verlängert wird. Der Endpunkt ist dabei an der gegenüberliegenden Kante der in der Lücke gezeichneten Spaltenlinie ausgerichtet.

Formale Definition

Wert in der Datenbank nicht gefunden!

Formale Syntax

row-rule-inset-junction-start = 
<inset-value>

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

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

Beispiele

Grundlegende Verwendung

Dieses Beispiel zeigt, wie Sie mit row-rule-inset-junction-start die Startkante von Zeilenliniensegmenten an Kreuzungen 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 row 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 Spalten- und Zeilenlücken und überschreiben anschließend mit row-rule-color die Farbe der Zeilenlinien mit einem dunkleren blue. Schließlich setzen wir row-rule-inset-junction-start auf 16px.

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

  row-rule-inset-junction-start: 16px;
}

Außerdem setzen wir flex-direction für den .column-Container auf column. Dadurch ändert sich die Hauptachse des Flex-Containers, sodass die Elemente in Spalten statt in Zeilen angeordnet werden.

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 diese Eigenschaft nur Zeilenlinien beeinflusst, die in mehrere Segmente aufgeteilt sind. Besteht eine Zeilenlinie aus einem einzigen Segment, das sich über die Breite des Containers erstreckt, hat dieses Segment zwei äußere Endpunkte und keine Kreuzungsendpunkte. Änderungen am Wert von row-rule-inset-junction-start wirken sich dann nicht darauf aus.

Spezifikationen

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

Browser-Kompatibilität

Siehe auch