Re: [csswg-drafts] [css-gaps-1] Clarify if space from content distribution properties consititues a "gutter" for decoration purposes. (#12922)

The CSS Working Group just discussed `[css-gaps-1] Clarify if space from content distribution properties consititues a "gutter" for decoration purposes.`, and agreed to the following:

* `RESOLVED: Alignment space inserted into gutters, i.e. between items/tracks/lines, contributes to the gap size`
* `RESOLVED: Rules drawn between flex lines have an intersection that starts when there's a gap on one or both sides and end when theres no gap on either side.`

<details><summary>The full IRC log of that discussion</summary>
&lt;bramus> alisonmaher: if we decided to not break flexbox, we cant do the case where you do ??? default should continue through, shouldnt break. if it does, we could still have the option. have werid misalignment cases, bu tdont thing authors want to ??<br>
&lt;bramus> … need to have some definition for it<br>
&lt;bramus> … one that is reasonable, but assume that its going to be werid when the items dont line up<br>
&lt;bramus> TabAtkins: and only have an effect when you set row break interestection<br>
&lt;bramus> alisonmaher: which is the default<br>
&lt;astearns> ack fantasai<br>
&lt;TabAtkins> s/row break/rule-break/<br>
&lt;bramus> fantasai: we did some whiteboarding to figure this out<br>
&lt;bramus> … and concluded that the only thing that seems to make sense, as define it as intersection starts as soon as one side has a gap, and ends when netiher side hs a gap<br>
&lt;bramus> TabAtkins: so overlapping gaps get joined<br>
&lt;bramus> fantasai: and additional clarification is that the gutter including th econtnet distribution space is a gap<br>
&lt;bramus> … bu talignment space is not<br>
&lt;bramus> … on the outer edges you dont include the ??? for alignment<br>
&lt;bramus> … need this clarrifiiation for grid<br>
&lt;TabAtkins> space-* alignment values do insert their space into the gutter<br>
&lt;bramus> … the space-* alignment values insert extra space into the gap<br>
&lt;bramus> astearns: why dont alignment properties contribute<br>
&lt;bramus> fantasai: we defined it as one side has an item and the other one hasnt<br>
&lt;bramus> … we dont ahve an ??? at the very end<br>
&lt;bramus> astearns: oh, i undertsand now<br>
&lt;bramus> fantasai: the content alignment props can shift all of th econtents on the line<br>
&lt;bramus> … those spaces should not be considered gutters because they are on the outside<br>
&lt;bramus> … the content distribution values (space-*) insert into the gutters<br>
&lt;bramus> … and expand them<br>
&lt;bramus> TabAtkins: Sorry, I was confused.<br>
&lt;bramus> dholbert: what about spaces at the beginning and end?<br>
&lt;bramus> TabAtkins: those are edges,<br>
&lt;bramus> dholbert: that is analogous to start and end<br>
&lt;bramus> … if we exclude those bu tinclude space around then …<br>
&lt;bramus> fantasai: &lt;missed><br>
&lt;TabAtkins> (my brain kept interpreting space-* as place-*, as in the properties)<br>
&lt;bramus> … any space that is as the end or beginning of the line is not considered a gutter, so no intersection<br>
&lt;bramus> astearns: isnt there align justify that adds space in betweeen?<br>
&lt;bramus> fantasai: that inserts into the gutters<br>
&lt;bramus> astearns: so are we arriving at a resolutoin of the opposite of what is suggested?<br>
&lt;bramus> alisonmaher: yes<br>
&lt;bramus> TabAtkins: either way, we are propertly resolving the issue of what intersections are<br>
&lt;astearns> s/what is suggested/what Sam suggested/<br>
&lt;bramus> … sam was saying there arent any<br>
&lt;bramus> … &lt;missed><br>
&lt;bramus> … is an acceptable answer for the non-gridy ???<br>
&lt;bramus> astearns: so we resolve that the space properties do contribute to the gutter for flex layouts<br>
&lt;bramus> dholbert: the way fantasai said it was better<br>
&lt;TabAtkins> TabAtkins: Sam suggested the easy solution of "there are no intersections", y'all are suggested instead an answer to exactly where the intersections are<br>
&lt;bramus> … the packing space at start/end does not contribute to gutters<br>
&lt;bramus> … but inserted between items does<br>
&lt;TabAtkins> TabAtkins: which works well for the grid-like Flexbox cases, and isn't terrible for the non-grid-like Flexbox cases<br>
&lt;bramus> … those gutters are then used to then merging them for intersections?<br>
&lt;fantasai> So to summarize, gaps between flex lines have an intersection wherever there is a gutter on either side (or both sides). align-content/justify-content space-* values contribut to gutters. Gutters only exist between things, not before/after the content.<br>
&lt;bramus> TabAtkins: if the intersection would overlap, they are merged into 1 gap<br>
&lt;bramus> dholbert: yes, so what is the gutter and then merge if they overlap from adjacent lines<br>
&lt;bramus> fantasai: first we need to clarfiy that alignment space between flex items contributes to the gap size<br>
&lt;bramus> astearns: we can resolve on that?<br>
&lt;fantasai> PROPOSED: Alignment space inserted into gutters, i.e. between items/tracks/lines, contributes to the gap size<br>
&lt;bramus> dholbert: packing space maybe? Either way its fine<br>
&lt;fantasai> RESOLVED: Alignment space inserted into gutters, i.e. between items/tracks/lines, contributes to the gap size<br>
&lt;bramus> dholbert: question about how merging happens<br>
&lt;bramus> … (draws on whiteboard)<br>
&lt;bramus> … say we have a 2nd row item starting after a 1st row last item<br>
&lt;bramus> … does the gap extend?<br>
&lt;bramus> fantasai: same scenario as the one with the question mark<br>
&lt;bramus> … say it doesnt exist<br>
&lt;bramus> … in that case tehre is no intersection from box 6<br>
&lt;bramus> … and to the end<br>
&lt;bramus> dholbert: so you dont get a rule here?<br>
&lt;bramus> fantasai: just continues<br>
&lt;bramus> … as there is no intersection<br>
&lt;bramus> dholbert: nothing because ???<br>
&lt;bramus> … that doesnt create an intersection opportunity?<br>
&lt;fantasai> PROPOSED: Rules drawn between flex lines have an intersection that starts when there's a gap on one or both sides and end when theres no gap on either side.<br>
&lt;bramus> astearns: looks to me there is gap there<br>
&lt;bramus> florian: me as well<br>
&lt;bramus> dholbert: so should draw up to the egdge of 6<br>
&lt;bramus> florian: edge of 2 and gap and 3<br>
&lt;bramus> dholbert: no, intersection opp at end of 6<br>
&lt;bramus> florian: not seeing that<br>
&lt;bramus> astearns: lets check proposed by fantasai<br>
&lt;bramus> … at one of the sides there is a gap<br>
&lt;bramus> fantasai: the gap ends at the beginning of 3<br>
&lt;bramus> astearns: and starts at beginning of 2<br>
&lt;bramus> florian: there isnt a gap next to 6<br>
&lt;bramus> dholbert: seems fine<br>
&lt;bramus> … so unbrok line from start of 6 to 2<br>
&lt;bramus> … ok<br>
&lt;bramus> … and then anothe rone under 3<br>
&lt;bramus> … COOL<br>
&lt;bramus> fantasai: seems like a defintion that more or less works<br>
&lt;bramus> … a bit werid, but works<br>
&lt;bramus> astearns: does that make sense to you, sam?<br>
&lt;miriam> can that drawing be shared?<br>
&lt;bramus> oSamDavis: yes<br>
&lt;bramus> fantasai: can you, alison, mail the photo to www-archive?<br>
&lt;bramus> alisonmaher: yes<br>
&lt;bramus> astearns: so we have a prposed resolution ¬ gonna need examples<br>
&lt;bramus> … objections?<br>
&lt;fantasai> RESOLVED: Rules drawn between flex lines have an intersection that starts when there's a gap on one or both sides and end when theres no gap on either side.<br>
&lt;bramus> astearns: sure we will find things to fiddle with in the future<br>
&lt;bramus> fantasai: one more thing ¬ proposal to add a join keyword …<br>
&lt;bramus> TabAtkins: already resolved in other issue to add _a_ keyword<br>
</details>


-- 
GitHub Notification of comment by css-meeting-bot
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/12922#issuecomment-3814532173 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Wednesday, 28 January 2026 23:48:23 UTC