rule-inset-junction プロパティ
利用可能性は限定的
この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。
もっと多くのブラウザーがこの機能に対応してほしいですか? 理由を教えてください。
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
rule-inset-junction は CSS の一括指定プロパティで、列間罫と行間罫の区間の接合端点を同じ値だけずらせます。
試してみましょう
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;
}
構成要素のプロパティ
このプロパティは、以下の CSS プロパティの一括指定です。
構文
/* キーワード */
rule-inset-junction: overlap-join;
/* <length-percentage> 値 */
rule-inset-junction: 0;
rule-inset-junction: 1em;
rule-inset-junction: -5px;
rule-inset-junction: -25%;
/* 2 つの値 */
rule-inset-junction: 0 1em;
rule-inset-junction: -5px -25%;
rule-inset-junction: overlap-join 10px;
/* グローバル値 */
rule-inset-junction: inherit;
rule-inset-junction: initial;
rule-inset-junction: revert;
rule-inset-junction: revert-layer;
rule-inset-junction: unset;
値
このプロパティは、以下のリストの値で 1 つまたは 2 つ指定します。
overlap-join-
接合区間が行間罫を越えて伸びるように指定します。値は
row-gapの値の半分と、使用されるrow-rule-widthの値の半分を足した値に解決されます。 <length-percentage>-
内側にずらす量(インセット)を指定します。パーセント値は、列間罫の区間では
row-gapの値、行間罫の区間ではcolumn-gapの値を基準とする接合端点を基準とします。
解説
rule-inset-junction 一括指定プロパティを使用すると、row-rule-inset-junction プロパティと column-rule-inset-junction プロパティを単一の宣言で同じ値に設定し、行間罫と列間罫の接合区間端点をその値だけ内側にずらせます。
値を 1 つ指定すると、両方のプロパティにその値が設定されます。値を 2 つ指定すると、-start には最初の値が、-end には 2 つ目の値が設定されます。正の値は区間を短く(内側に)し、負の値とoverlap-join キーワードは区間を長く(外側に)します。デフォルト値は 0 です。
キャップ区間端点と接合区間端点の両方を内側にずらすには、rule-inset-junction 一括指定プロパティと rule-inset-cap 一括指定プロパティを、rule-inset 一括指定プロパティで設定できます。
公式定義
DB に値が見つかりません!形式文法
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>
例
>基本的な使い方
この例では、rule-inset-junction を設定して、フレックスコンテナー内の接合区間端点を内側にずらす方法を示します。
HTML
このマークアップには、それぞれ 7 つの子要素を含む 2 つの <div> 要素があります。2 つのコンテナーの違いは、2 つ目に column クラスが追加されていることだけです。
<h1>列間罫の接合端点のインセット</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
display プロパティを使用して、.flexbox 要素をフレックスコンテナーにします。flex-wrap と flex-line-count を使用して、アイテムを 3 つのフレックス行に均等に配置します。rule を定義し、rule-inset-junction を 16px に設定します。
.flexbox {
display: flex;
flex-wrap: balance;
flex-line-count: 3;
gap: 20px;
rule: 5px solid blue;
rule-inset-junction: 16px;
}
.column コンテナーでは flex-direction も column に設定し、フレックスコンテナーの主軸をページの縦方向にして、アイテムが行ではなく列に沿って配置されるようにします。
.column {
flex-direction: column;
}
残りの CSS は簡潔にするため省略しています。
結果
インセットの大きさを変更してみてください。罫線がコンテナーの一方の端から反対側の端まで続く単一の区間である場合、その区間には 2 つのキャップ端点があり、接合端点はありません。そのため、rule-inset-junction の値を変更しても、これらの区間には影響しません。
グリッドレイアウトの場合
この例では、グリッドコンテナーで rule-inset-junction プロパティを使用し、接合区間端点に異なる 2 つの値を指定して内側にずらす方法を示します。
HTML
コンテナーとして <ul> 要素を使用し、その子要素として複数の <li> 要素を含めます。これらの子要素は、それぞれグリッドアイテムになります。
<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
<ul> をグリッドコンテナーにするため、display プロパティを grid に設定します。grid-template-columns プロパティで、グリッドに 5 つの列を指定します。list-style-type プロパティでリストのマーカーを取り除き、gap 一括指定プロパティで行と列の隙間を 20px にします。rule 一括指定プロパティで罫線の色、太さ、線種を設定し、row-rule-color プロパティで行間罫の色だけを変更します。
rule-break プロパティを使用して、罫線をすべての交差部で分割します。罫線を分割しなければ、スタイルを設定する接合区間はありません。
最後に、rule-inset-junction プロパティを使用して、各列の接合区間の先頭側を 16px 内側にずらし、末尾側はずらさないようにします。
6 番目のグリッドアイテムは 3 列にまたがるように設定します。
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;
}
残りの CSS は簡潔にするため省略しています。
結果
仕様書
| 仕様書 |
|---|
| CSS Gaps Module Level 1> # propdef-rule-inset-junction> |
ブラウザーの互換性
関連情報
rule-inset-cap一括指定rule-inset一括指定rule-break一括指定rule-overlaprule-visibility-itemsrule一括指定- CSS 隙間モジュール