From 2ddb28c95845767493de2bfcb9152eb336ec33c9 Mon Sep 17 00:00:00 2001 From: "Sam Davis Omekara (from Dev Box)" Date: Mon, 27 Apr 2026 14:48:26 -0700 Subject: [PATCH 1/9] init overlap-join ppty --- css-gaps-1/Overview.bs | 74 ++++++++++++++++++- css-gaps-1/images/example-1-overlap-join.png | Bin 0 -> 2192 bytes css-gaps-1/images/example-2-overlap-join.png | Bin 0 -> 3336 bytes 3 files changed, 71 insertions(+), 3 deletions(-) create mode 100644 css-gaps-1/images/example-1-overlap-join.png create mode 100644 css-gaps-1/images/example-2-overlap-join.png diff --git a/css-gaps-1/Overview.bs b/css-gaps-1/Overview.bs index c1d38db2fedd..99ee4a183af6 100644 --- a/css-gaps-1/Overview.bs +++ b/css-gaps-1/Overview.bs @@ -983,7 +983,7 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties
 		Name: column-rule-inset-cap-start, column-rule-inset-cap-end, column-rule-inset-junction-start, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-cap-end, row-rule-inset-junction-start, row-rule-inset-junction-end
-		Value: <>
+		Value: <> | ''overlap-join''
 		Initial: ''0''
 		Applies to: grid containers, flex containers, multicol containers, and grid lanes containers
 		Inherited: no
@@ -1097,6 +1097,65 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties
 		For these properties, positive values offset in the [=start=] direction, and negative values offset in the [=end=] direction, along the axis of the gap.
 	

+

+ The overlap-join keyword + produces neat joins between crossing [=gap decorations=]: +

+ +
    +
  • + At a [=junction segment endpoint=], the [=gap decoration=] extends across the [=gap junction=] + far enough to overlap the crossing decoration. + +

    + Note: At a [=junction segment endpoint=], this is equivalent to an inset of + ''calc(-50% - w / 2)'', + where w is the [=used value=] of the crossing decoration's + 'column-rule-width' or 'row-rule-width'. +

    +
  • + At a [=cap segment endpoint=], it has no effect; the [=gap decoration=] ends at the [=segment endpoint=]. +
+ +
+
+			.inset-overlap-join {
+				rule-inset: overlap-join;
+				rule-break: intersection;
+				rule-visibility-items: between;
+			}
+		
+
+ A 3x3 grid with only the top-left five cells occupied. At each interior gap junction where column and row rules meet, the rules extend halfway across the junction and overlap to form a continuous line. Where a column rule terminates at a gap junction with no row rule reaching it, the rule ends flush with the adjacent item edge. +
+ With ''overlap-join'', [=gap decorations=] at [=junction segment endpoints=] + extend across the [=gap junction=] to overlap the crossing decoration, + producing a continuous join. + At [=cap segment endpoints=], ''overlap-join'' has no effect. +
+
+
+ +
+
+			.inset-overlap-join {
+				rule-inset: overlap-join;
+				rule-break: intersection;
+				rule-visibility-items: between;
+			}
+		
+
+ A 4x4 donut-shaped grid with an empty middle row and middle-right cells. Rules meeting at genuine gap junctions extend across and overlap to form continuous lines, while rules dangling along the empty interior region end flush with the adjacent item edges. +
+ In a "donut" grid layout, ''overlap-join'' produces continuous joins + only at the [=junction segment endpoints=], + extending each [=gap decoration=] across the [=gap junction=] to overlap the crossing decoration. + At the [=cap segment endpoints=] bordering the empty interior region, + ''overlap-join'' has no effect. +
+
+
+
 			.inset-end {
@@ -1159,6 +1218,13 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties
 		multicol/multicol-gap-decorations-022.html
 		multicol/multicol-gap-decorations-023.html
 		multicol/multicol-gap-decorations-033.html
+		parsing/rule-inset-cap-start-end-overlap-join-computed.html
+		parsing/rule-inset-cap-start-end-overlap-join-invalid.html
+		parsing/rule-inset-junction-start-end-overlap-join-computed.html
+		parsing/rule-inset-junction-start-end-overlap-join-invalid.html
+		grid/grid-gap-decorations-overlap-join-001.html
+		grid/grid-gap-decorations-overlap-join-002.html
+		grid/grid-gap-decorations-overlap-join-dangling-001.html
 	
 
 	

@@ -1184,7 +1250,7 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties

 		Name: column-rule-inset-start, column-rule-inset-end, row-rule-inset-start, row-rule-inset-end
-		Value: <>
+		Value: <> | ''overlap-join''
 		Applies to: Same as 'column-rule-inset-cap-start', 'column-rule-inset-junction-start', 'column-rule-inset-cap-end', 'column-rule-inset-junction-end', 'row-rule-inset-cap-start', 'row-rule-inset-junction-start', 'row-rule-inset-cap-end', and 'row-rule-inset-junction-end'
 	
@@ -1240,7 +1306,7 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties
 		Name: column-rule-inset-cap, column-rule-inset-junction, row-rule-inset-cap, row-rule-inset-junction
-		Value: <> [ <> ]?
+		Value: [ <> | ''overlap-join'' ] [ <> | ''overlap-join'' ]?
 		Applies to: Same as 'column-rule-inset-cap-start', 'column-rule-inset-cap-end', 'column-rule-inset-junction-start', 'column-rule-inset-junction-end', 'row-rule-inset-cap-start', 'row-rule-inset-cap-end', 'row-rule-inset-junction-start', and 'row-rule-inset-junction-end'
 	
@@ -2572,6 +2638,8 @@ Changes since the 2 (Issue 13697)
  • Clarified that gaps suppressed due to fragmentation still consume gap decoration values. (Issue 13754) +
  • Added the ''overlap-join'' value to the [[#inset|rule-inset]] properties. + (Issue 13137)

    diff --git a/css-gaps-1/images/example-1-overlap-join.png b/css-gaps-1/images/example-1-overlap-join.png new file mode 100644 index 0000000000000000000000000000000000000000..2b0f5bc343d38da9ace1c36cfc3f06cd088104cd GIT binary patch literal 2192 zcmeAS@N?(olHy`uVBq!ia0y~yV2lUiBn~#9NMPXYPe6*XILO_JVcj{Imp~3nx}&cn z1H;CC?mvmFKt5-IM`SSrgP1A^GkON8d|+VUQ1x_i45^5Fdq*)pI#TNR!|T5dn>MXj zv(qMp&6TUe$4yG}z5=6UlB8c|$|hFfJx4BisZMlMUECH^XRMRa`^R+8g3RrEduM03 zoxEQ*-`(g$_Gab(MYT0G?5nS4g);0}QU8UV!N&e0D~CXQ0|SDRuqnBcV<7Rxo#7Af z-z)2S^RJiwHFRWWXa9RK-8}!^7x&Q6ua{?4hF*R9Hn-ko!q>aGzL#r+<8SjZFh1fI z_|Wo0FWV|-m84(x&H66g>(_Q(`w=b{9{n6=jRyJ!d@6~6o-unO5>HRmes;j?V{iG*e zT5j@ct)=Iq(|c2O->vHNvy0W1LZ#KX{wtM$petoWgXVo*)nYX^&6?x>XyZrF1xiPo- z?wI}D={`LLjQDgtl=~+!&Xt$@VxpV#**^P7fR$I;wKYQN(KhvtrSypx5 zch!{@ZuxubWBBV^bAS%Nefhr1yR2=hcfMwAkGy~P*}60aX{Q=SrX%7C4x<#lAV}B{ zwKnWN4|{V}!kM;Rm7kZ{uUfTg{6kzf^&zyL&Fay7AUpG_U(rQGkBjK z)824XE^C!GN=}33yNK#5YhLgAH)BC_bMwC!oA(!8dGqbtHhZNP)vr%~D~6hR;PT_! zeXBvaYX0WCz~pP@YdT-<@wWe54wD!rd}=Fqzbt0+@t^es$`%raFZ~pJHpvj;A%R5@l(^(}p*=n2pj?Le`#ea1_U>qrZ z|NQU9@BQBw|6TPraPNDo>I2qUJ9n&JEZohlpO{b%7 literal 0 HcmV?d00001 diff --git a/css-gaps-1/images/example-2-overlap-join.png b/css-gaps-1/images/example-2-overlap-join.png new file mode 100644 index 0000000000000000000000000000000000000000..94a4efe499e20bd9e24854e06494318461edbab6 GIT binary patch literal 3336 zcmeH~ZCH}`9>;HM9$PEz;aU%l;$&#s$?&92AvKTr$Tnr`veXuuZKBtaOnDITu`@5j z%H{?dF+oeO={0dUr9=WHM`?zltf^xN>H$R}dW%z zV?qI-wc;&%iZi%>Gb=ig0028YU*Lo~0h9(nXk2cRQRPE;C$X+)GQj-VuJ_Ut zyfbMLO}^30P1^*&tSh<`&^_;bJ;Zfm;XIiK~7P04Q>mJ73)P7to@{PeU}z%Xx_Vrv-KK_ONwW%i)}dCu4gw ztTUT?6~}57#dEkQ-ICV0bjKQeMc-N5wN>>=!%j}K%nKFCOy;)Ty@9;|*7OWmJ)|&c zDV<{^lULbV+?_{HR&xCN^0IHV@;HZ;S9gq%X6a z_MBr+p{g)0jmTlNdp6P zi6XX+UqW6D%JoN$Toq-_Wk-4Y32iqACOw$RSW;f#Bu)@$%D4POoWyNA&F*=s4ypT) zrk$>c?`v7LSiTzT=80^N&?K^CBD6_LX+tbl8e|>paVaIT%l+X-yF4fAd^2 zJmf9S9m1v=V+hn3^Jt$|Ao6eKjY6OrRfLKl*WEwQnXO1^4%E-_YiEXi3VaCcAL zy;Jx@@KS@1AM|@3V(HiM!bNDfxdn|>v!JQh)4BqF`FA{$**RceVF<{^7{6MWl)0Uw zB2>{O5hHy@2?56!_Ubx6@{#!_`rr}mbLxQcvRUJm1H4okX$Q5In}_d6P^Rz|%d7Y! zHK~+9el3@tMK{%FW9McMr(vs_4iU+#dxE0h2OkP2uBCm~KAc=J2#w#Jzsj98iatfn ztLG1feL9^XJ~tWvL3^!Lb$*)6FFao~ZtJOn1M~G|aG-LH*VlufUvd7`lM|TH(NW1h zN2JYWlkA)L55Ax)*}>NEUg`LSme*M8!To2g+?QIVqn zQ3<0gmoD5G&+oO*`kRExE`RZy;HOuUW~!b;FYnd3DdpA}8ixhWhLFBf2|D|Xrocf8 zyv!_x%RT!Bge9h@=cgH*=2LU+45TbKNQ$>)x8HyF@zs;3(&#WcOC>W1jox%`KU)^w z`A8XDfDDnH3w~sO=JB|*LX-das&c)*Q1|ynj-&oXcR99N-VA3zST!%LHL7G@t+me} zC=_?976TgcLdp)q=lCT(=iI%){ddQ@c!EcY&)E+qRc~MYlFo2_s5In6G%0)qm<<}u zn5+#lKoFds`g!-;KbOIw5SAL#nqD>hK^9+Wyb@R2uV)*7rx4>adfcOjY@-|#s8G$92Wnuaz?-IUzcb8g!oH24_A+^*g5;_8`0D-+^y$^QOPY> z->TSQ7p*r}{Fx~)EcybK9e-%*m9~CgTQ&t}{jb5FrT+0Mp8>s1a#$_dI}DSSsCsKE zydhtbQnZcFNZ|{9DjbSrCN;Mmt%fmQrmoo>BwB4p+R=cW5zg>YR!{$T@hoEFyDfpdx~!@g&-Iw>T&JmO3dz1xBpvL8g%{_uNt~+ zjOJ)(VGI$95c?9vW$>r|e1_A_aN-)Tvj Date: Mon, 27 Apr 2026 20:07:54 -0700 Subject: [PATCH 2/9] nit and update --- css-gaps-1/Overview.bs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/css-gaps-1/Overview.bs b/css-gaps-1/Overview.bs index 99ee4a183af6..9e4f1f4e4d3a 100644 --- a/css-gaps-1/Overview.bs +++ b/css-gaps-1/Overview.bs @@ -1111,7 +1111,7 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties

    Note: At a [=junction segment endpoint=], this is equivalent to an inset of ''calc(-50% - w / 2)'', where w is the [=used value=] of the crossing decoration's - 'column-rule-width' or 'row-rule-width'. + 'column-rule-width' or 'row-rule-width', whichever applies.

  • At a [=cap segment endpoint=], it has no effect; the [=gap decoration=] ends at the [=segment endpoint=]. @@ -1130,7 +1130,7 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties
    With ''overlap-join'', [=gap decorations=] at [=junction segment endpoints=] extend across the [=gap junction=] to overlap the crossing decoration, - producing a continuous join. + joining adjacent segments. At [=cap segment endpoints=], ''overlap-join'' has no effect.
    @@ -1147,8 +1147,8 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties
    A 4x4 donut-shaped grid with an empty middle row and middle-right cells. Rules meeting at genuine gap junctions extend across and overlap to form continuous lines, while rules dangling along the empty interior region end flush with the adjacent item edges.
    - In a "donut" grid layout, ''overlap-join'' produces continuous joins - only at the [=junction segment endpoints=], + In a "donut" grid layout, ''overlap-join'' joins adjacent segments + at the [=junction segment endpoints=], extending each [=gap decoration=] across the [=gap junction=] to overlap the crossing decoration. At the [=cap segment endpoints=] bordering the empty interior region, ''overlap-join'' has no effect. From dd80a7ff05ce1d45dd5e3871ba5f00b3fcb73a90 Mon Sep 17 00:00:00 2001 From: "Sam Davis Omekara (from Dev Box)" Date: Mon, 27 Apr 2026 20:41:25 -0700 Subject: [PATCH 3/9] nit --- css-gaps-1/Overview.bs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/css-gaps-1/Overview.bs b/css-gaps-1/Overview.bs index 9e4f1f4e4d3a..c72b0d7144a3 100644 --- a/css-gaps-1/Overview.bs +++ b/css-gaps-1/Overview.bs @@ -1109,12 +1109,13 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties

    Note: At a [=junction segment endpoint=], this is equivalent to an inset of - ''calc(-50% - w / 2)'', - where w is the [=used value=] of the crossing decoration's + ''calc(-50% - |w| / 2)'', + where |w| is the [=used value=] of the crossing decoration's 'column-rule-width' or 'row-rule-width', whichever applies.

  • - At a [=cap segment endpoint=], it has no effect; the [=gap decoration=] ends at the [=segment endpoint=]. + At a [=cap segment endpoint=], it computes to ''0''; the [=gap decoration=] remains flush + at the [=segment endpoint=].
    @@ -1126,12 +1127,12 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties }
  • - A 3x3 grid with only the top-left five cells occupied. At each interior gap junction where column and row rules meet, the rules extend halfway across the junction and overlap to form a continuous line. Where a column rule terminates at a gap junction with no row rule reaching it, the rule ends flush with the adjacent item edge. +
    With ''overlap-join'', [=gap decorations=] at [=junction segment endpoints=] extend across the [=gap junction=] to overlap the crossing decoration, joining adjacent segments. - At [=cap segment endpoints=], ''overlap-join'' has no effect. + At [=cap segment endpoints=], ''overlap-join'' computes to ''0''.
    @@ -1145,13 +1146,14 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties }
    - A 4x4 donut-shaped grid with an empty middle row and middle-right cells. Rules meeting at genuine gap junctions extend across and overlap to form continuous lines, while rules dangling along the empty interior region end flush with the adjacent item edges. +
    - In a "donut" grid layout, ''overlap-join'' joins adjacent segments + In a "donut" grid layout, where items surround an empty space in the middle of the container, + ''overlap-join'' joins adjacent segments at the [=junction segment endpoints=], extending each [=gap decoration=] across the [=gap junction=] to overlap the crossing decoration. At the [=cap segment endpoints=] bordering the empty interior region, - ''overlap-join'' has no effect. + ''overlap-join'' computes to ''0''.
    From a8d2a275707e89bbf5cdfa8772aa4eed0b62d486 Mon Sep 17 00:00:00 2001 From: "Sam Davis Omekara (from Dev Box)" Date: Wed, 29 Apr 2026 13:21:21 -0700 Subject: [PATCH 4/9] nit --- css-gaps-1/Overview.bs | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/css-gaps-1/Overview.bs b/css-gaps-1/Overview.bs index c72b0d7144a3..270a40fd8768 100644 --- a/css-gaps-1/Overview.bs +++ b/css-gaps-1/Overview.bs @@ -1099,13 +1099,14 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties

    The overlap-join keyword - produces neat joins between crossing [=gap decorations=]: + produces neat joins between [=gap decorations=] that meet at the same [=gap junction=]:

    @@ -1130,8 +1131,7 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties
    With ''overlap-join'', [=gap decorations=] at [=junction segment endpoints=] - extend across the [=gap junction=] to overlap the crossing decoration, - joining adjacent segments. + extend into the [=gap junction=], joining adjacent segments. At [=cap segment endpoints=], ''overlap-join'' computes to ''0''.
    @@ -1151,9 +1151,8 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties In a "donut" grid layout, where items surround an empty space in the middle of the container, ''overlap-join'' joins adjacent segments at the [=junction segment endpoints=], - extending each [=gap decoration=] across the [=gap junction=] to overlap the crossing decoration. - At the [=cap segment endpoints=] bordering the empty interior region, - ''overlap-join'' computes to ''0''. + extending each [=gap decoration=] into the [=gap junction=]. At the [=cap segment endpoints=] + bordering the edge of the container and the empty interior region, ''overlap-join'' computes to ''0''.
    From 71e938c0735c4aae34041250cbadae99267daf4a Mon Sep 17 00:00:00 2001 From: "Sam Davis Omekara (from Dev Box)" Date: Wed, 29 Apr 2026 16:43:50 -0700 Subject: [PATCH 5/9] prod + inset-value --- css-gaps-1/Overview.bs | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/css-gaps-1/Overview.bs b/css-gaps-1/Overview.bs index 270a40fd8768..b5ae6d763f44 100644 --- a/css-gaps-1/Overview.bs +++ b/css-gaps-1/Overview.bs @@ -983,7 +983,7 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties
     		Name: column-rule-inset-cap-start, column-rule-inset-cap-end, column-rule-inset-junction-start, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-cap-end, row-rule-inset-junction-start, row-rule-inset-junction-end
    -		Value: <> | ''overlap-join''
    +		Value: <>
     		Initial: ''0''
     		Applies to: grid containers, flex containers, multicol containers, and grid lanes containers
     		Inherited: no
    @@ -991,6 +991,10 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties
     		Animation type: by computed value type
     	
    +
    +		<inset-value> = <> | overlap-join
    +	
    + These properties can be used to offset the start and end points of gap decorations relative to the segment endpoints which would normally determine where decorations start and end. @@ -1098,7 +1102,7 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties

    - The overlap-join keyword + The overlap-join keyword produces neat joins between [=gap decorations=] that meet at the same [=gap junction=]:

    @@ -1130,9 +1134,9 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties
    - With ''overlap-join'', [=gap decorations=] at [=junction segment endpoints=] + With ''/overlap-join'', [=gap decorations=] at [=junction segment endpoints=] extend into the [=gap junction=], joining adjacent segments. - At [=cap segment endpoints=], ''overlap-join'' computes to ''0''. + At [=cap segment endpoints=], ''/overlap-join'' computes to ''0''.
    @@ -1149,10 +1153,10 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties
    In a "donut" grid layout, where items surround an empty space in the middle of the container, - ''overlap-join'' joins adjacent segments + ''/overlap-join'' joins adjacent segments at the [=junction segment endpoints=], extending each [=gap decoration=] into the [=gap junction=]. At the [=cap segment endpoints=] - bordering the edge of the container and the empty interior region, ''overlap-join'' computes to ''0''. + bordering the edge of the container and the empty interior region, ''/overlap-join'' computes to ''0''.
    @@ -1251,7 +1255,7 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties
     		Name: column-rule-inset-start, column-rule-inset-end, row-rule-inset-start, row-rule-inset-end
    -		Value: <> | ''overlap-join''
    +		Value: <>
     		Applies to: Same as 'column-rule-inset-cap-start', 'column-rule-inset-junction-start', 'column-rule-inset-cap-end', 'column-rule-inset-junction-end', 'row-rule-inset-cap-start', 'row-rule-inset-junction-start', 'row-rule-inset-cap-end', and 'row-rule-inset-junction-end'
     	
    @@ -1307,7 +1311,7 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties
     		Name: column-rule-inset-cap, column-rule-inset-junction, row-rule-inset-cap, row-rule-inset-junction
    -		Value: [ <> | ''overlap-join'' ] [ <> | ''overlap-join'' ]?
    +		Value: <> <>?
     		Applies to: Same as 'column-rule-inset-cap-start', 'column-rule-inset-cap-end', 'column-rule-inset-junction-start', 'column-rule-inset-junction-end', 'row-rule-inset-cap-start', 'row-rule-inset-cap-end', 'row-rule-inset-junction-start', and 'row-rule-inset-junction-end'
     	
    @@ -2639,7 +2643,7 @@ Changes since the 2 (Issue 13697)
  • Clarified that gaps suppressed due to fragmentation still consume gap decoration values. (Issue 13754) -
  • Added the ''overlap-join'' value to the [[#inset|rule-inset]] properties. +
  • Added the ''/overlap-join'' value to the [[#inset|rule-inset]] properties. (Issue 13137) From 21e86502de9620495f46a222c9ccc60127347fc5 Mon Sep 17 00:00:00 2001 From: Sam Davis <59079555+oSamDavis@users.noreply.github.com> Date: Mon, 11 May 2026 09:57:31 -0700 Subject: [PATCH 6/9] Apply suggestions from code review Co-authored-by: Kevin Babbitt --- css-gaps-1/Overview.bs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/css-gaps-1/Overview.bs b/css-gaps-1/Overview.bs index b5ae6d763f44..3bc595ecd8d2 100644 --- a/css-gaps-1/Overview.bs +++ b/css-gaps-1/Overview.bs @@ -1109,7 +1109,7 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties
    • At a [=junction segment endpoint=], the [=gap decoration=] extends into the [=gap junction=] - by half the [=crossing gap width=], plus half the [=used value=] of the crossing decoration's + by half the [=crossing gap width=], plus half the [=used value=] of the crossing gap's 'column-rule-width' or 'row-rule-width' (whichever applies).

      @@ -1119,8 +1119,7 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties 'column-rule-width' or 'row-rule-width', whichever applies.

    • - At a [=cap segment endpoint=], it computes to ''0''; the [=gap decoration=] remains flush - at the [=segment endpoint=], because there is no other segment to join with. + At a [=cap segment endpoint=], [=overlap-join=] is treated as ''0''.
    @@ -1136,7 +1135,7 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties
    With ''/overlap-join'', [=gap decorations=] at [=junction segment endpoints=] extend into the [=gap junction=], joining adjacent segments. - At [=cap segment endpoints=], ''/overlap-join'' computes to ''0''. + At [=cap segment endpoints=], ''/overlap-join'' is treated as ''0''.
    @@ -1156,7 +1155,7 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties ''/overlap-join'' joins adjacent segments at the [=junction segment endpoints=], extending each [=gap decoration=] into the [=gap junction=]. At the [=cap segment endpoints=] - bordering the edge of the container and the empty interior region, ''/overlap-join'' computes to ''0''. + bordering the edge of the container and the empty interior region, ''/overlap-join'' is treated as ''0''. From 97139854c01c66e5538057e2cf1fd263fafeaaf9 Mon Sep 17 00:00:00 2001 From: "Sam Davis Omekara (from Dev Box)" Date: Mon, 11 May 2026 10:53:52 -0700 Subject: [PATCH 7/9] take note out --- css-gaps-1/Overview.bs | 9 --------- 1 file changed, 9 deletions(-) diff --git a/css-gaps-1/Overview.bs b/css-gaps-1/Overview.bs index fc271b012a97..104f2b59bc0c 100644 --- a/css-gaps-1/Overview.bs +++ b/css-gaps-1/Overview.bs @@ -1081,15 +1081,6 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties The [=crossing gap width=] is ''0''. -

    - Note: This classification by position is distinct from the - [=cap segment endpoint=] / [=junction segment endpoint=] classification. - A [=cap segment endpoint=] may sit at a container edge or at a [=gap junction=] - (see this example). Hence, - ''column-rule-inset-cap-start: 50%'' resolves to half the [=gap junction=] - size at an interior cap and ''0'' at other caps such as container edges. -

    -

    The 'column-rule-inset-cap-start' and 'row-rule-inset-cap-start' properties apply to [=start segment endpoints=] that are [=cap segment endpoints=]. The 'column-rule-inset-junction-start' and 'row-rule-inset-junction-start' properties apply to [=start segment endpoints=] that are [=junction segment endpoints=]. From da72bd28492b4bed84cd0fd7cca33f0a9903755c Mon Sep 17 00:00:00 2001 From: "Sam Davis Omekara (from Dev Box)" Date: Mon, 11 May 2026 12:37:59 -0700 Subject: [PATCH 8/9] nit --- css-gaps-1/Overview.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/css-gaps-1/Overview.bs b/css-gaps-1/Overview.bs index 104f2b59bc0c..36e4ab0e3ca7 100644 --- a/css-gaps-1/Overview.bs +++ b/css-gaps-1/Overview.bs @@ -1110,7 +1110,7 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties 'column-rule-width' or 'row-rule-width', whichever applies.

  • - At a [=cap segment endpoint=], [=overlap-join=] is treated as ''0''. + At a [=cap segment endpoint=], ''/overlap-join'' is treated as ''0''.
    From a8092c87de9413334cec097b6a0c6542059b0d9e Mon Sep 17 00:00:00 2001 From: "Sam Davis Omekara (from Dev Box)" Date: Mon, 11 May 2026 12:41:48 -0700 Subject: [PATCH 9/9] nit note --- css-gaps-1/Overview.bs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/css-gaps-1/Overview.bs b/css-gaps-1/Overview.bs index 36e4ab0e3ca7..8796eee04673 100644 --- a/css-gaps-1/Overview.bs +++ b/css-gaps-1/Overview.bs @@ -1081,6 +1081,15 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties The [=crossing gap width=] is ''0''. +

    + Note: This classification by position is distinct from the + [=cap segment endpoint=] / [=junction segment endpoint=] classification. + A [=cap segment endpoint=] may sit at a container edge or at a [=gap junction=] + (see this example). Hence, + ''column-rule-inset-cap-start: 50%'' resolves to half the [=gap junction=] + size at an interior cap and ''0'' at other caps such as container edges. +

    +

    The 'column-rule-inset-cap-start' and 'row-rule-inset-cap-start' properties apply to [=start segment endpoints=] that are [=cap segment endpoints=]. The 'column-rule-inset-junction-start' and 'row-rule-inset-junction-start' properties apply to [=start segment endpoints=] that are [=junction segment endpoints=]. @@ -1102,13 +1111,6 @@ Adjusting gap decoration endpoints: The 'rule-inset' properties At a [=junction segment endpoint=], the [=gap decoration=] extends into the [=gap junction=] by half the [=crossing gap width=], plus half the [=used value=] of the crossing gap's 'column-rule-width' or 'row-rule-width' (whichever applies). - -

    - Note: At a [=junction segment endpoint=], this is equivalent to an inset of - ''calc(-50% - |w| / 2)'', - where |w| is the [=used value=] of the crossing decoration's - 'column-rule-width' or 'row-rule-width', whichever applies. -

  • At a [=cap segment endpoint=], ''/overlap-join'' is treated as ''0''.