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 rule-inset-junction kann verwendet werden, um die Endpunkte von Verbindungssegmenten der Spalten- und Zeilentrennlinien um denselben Wert zu versetzen.
Probieren Sie es aus
rule-inset-junction: 0;
rule-inset-junction: 10px;
rule-inset-junction: 0.5em -0.5em;
rule-inset-junction: overlap-join;
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;
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;
}
Zugehörige Eigenschaften
Diese Eigenschaft ist eine Kurzschreibweise für die folgenden CSS-Eigenschaften:
Syntax
/* Keywords */
rule-inset-junction: overlap-join;
/* <length-percentage> values */
rule-inset-junction: 0;
rule-inset-junction: 1em;
rule-inset-junction: -5px;
rule-inset-junction: -25%;
/* Two values */
rule-inset-junction: 0 1em;
rule-inset-junction: -5px -25%;
rule-inset-junction: overlap-join 10px;
/* Global values */
rule-inset-junction: inherit;
rule-inset-junction: initial;
rule-inset-junction: revert;
rule-inset-junction: revert-layer;
rule-inset-junction: unset;
Werte
Für diese Eigenschaft werden ein oder zwei Werte aus der folgenden Liste angegeben:
overlap-join-
Legt fest, dass sich das Verbindungssegment über die Zeilentrennlinie erstreckt. Der Wert ergibt sich aus der Hälfte des
row-gap-Werts plus der Hälfte des verwendetenrow-rule-width-Werts. <length-percentage>-
Legt die Größe der Einrückung fest. Prozentwerte beziehen sich auf den Endpunkt der Verbindung: bei Spaltensegmenten auf den
row-gap-Wert und bei Zeilensegmenten auf dencolumn-gap-Wert.
Beschreibung
Mit der Kurzschreibweise rule-inset-junction können die Eigenschaften row-rule-inset-junction und column-rule-inset-junction in einer einzigen Deklaration auf denselben Wert gesetzt werden. Dadurch werden die Endpunkte der Zeilen- und Spaltenverbindungssegmente um die angegebenen Werte eingerückt.
Wenn ein Wert angegeben wird, werden beide Eigenschaften auf diesen Wert gesetzt. Wenn zwei Werte angegeben werden, erhält -start den ersten und -end den zweiten Wert. Positive Werte verkürzen das Segment, indem sie seine Endpunkte einrücken. Negative Werte und das Schlüsselwort overlap-join verlängern es dagegen über seine Endpunkte hinaus. Der Standardwert ist 0.
Um sowohl die Endpunkte von Abschlusssegmenten als auch die von Verbindungssegmenten einzurücken, können rule-inset-junction und die Kurzschreibweise rule-inset-cap über die Kurzschreibweise rule-inset festgelegt werden.
Formale Definition
Wert in der Datenbank nicht gefunden!Formale Syntax
rule-inset-junction =
<'column-rule-inset-junction'>
<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 rule-inset-junction die Endpunkte von Verbindungssegmenten in Flex-Containern einrückt.
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.
<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 Trennlinie mit rule und setzen rule-inset-junction auf 16px.
.flexbox {
display: flex;
flex-wrap: balance;
flex-line-count: 3;
gap: 20px;
rule: 5px solid blue;
rule-inset-junction: 16px;
}
Außerdem setzen wir flex-direction für den .column-Container auf column. Dadurch verläuft die Hauptachse des Flex-Containers vertikal, und die Elemente werden in Spalten statt in Zeilen angeordnet.
.column {
flex-direction: column;
}
Das übrige CSS ist der Kürze halber ausgeblendet.
Ergebnis
Ändern Sie die Größe der Einrückung. Beachten Sie: Besteht eine Trennlinie aus einem einzelnen Segment, das von einer Kante des Containers bis zur gegenüberliegenden Kante reicht, hat dieses Segment zwei Abschlussendpunkte und keine Verbindungsendpunkte. Eine Änderung des Werts von rule-inset-junction wirkt sich daher nicht auf solche Segmente aus.
Mit Grid-Layout
Dieses Beispiel zeigt, wie Sie mit der Eigenschaft rule-inset-junction die Endpunkte von Verbindungssegmenten in einem Grid-Container um zwei unterschiedliche Werte einrücken.
HTML
Wir verwenden ein <ul>-Element als Container mit mehreren <li>-Kindelementen, die jeweils zu einem Grid-Element werden.
<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>
<li>17</li>
<li>18</li>
<li>19</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 fünf Spalten hat. Mit list-style-type entfernen wir die Aufzählungszeichen und setzen die Zeilen- und Spaltenabstände über die Kurzschreibweise gap auf 20px. Farbe, Breite und Linienstil aller Trennlinien legen wir mit der Kurzschreibweise rule fest. Anschließend ändern wir nur die Farbe der Zeilentrennlinien mit der Eigenschaft row-rule-color.
Mit der Eigenschaft rule-break unterbrechen wir die Trennlinien an jedem Schnittpunkt. Ohne diese Unterbrechungen gäbe es keine Verbindungssegmente, die gestaltet werden könnten!
Schließlich legen wir mit der Eigenschaft rule-inset-junction fest, dass der Anfang jeder Spaltenverbindung um 16px eingerückt wird, ihr Ende jedoch nicht.
Außerdem lassen wir das sechste Grid-Element über drei Spalten reichen.
ul {
display: grid;
grid-template-columns: repeat(5, auto);
list-style-type: "";
gap: 20px;
rule: 10px solid olive;
row-rule-color: palegoldenrod;
rule-break: intersection;
rule-inset-junction: 16px 0;
}
li:nth-of-type(7) {
grid-column-end: span 3;
}
Das übrige CSS ist der Kürze halber ausgeblendet.
Ergebnis
Spezifikationen
| Spezifikation |
|---|
| CSS Gaps Module Level 1> # propdef-rule-inset-junction> |
Browser-Kompatibilität
Siehe auch
- Kurzschreibweise
rule-inset-cap - Kurzschreibweise
rule-inset - Kurzschreibweise
rule-break rule-overlaprule-visibility-items- Kurzschreibweise
rule - Modul CSS gaps