You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[css-gaps-1] Decorations between empty areas: default behaviors #13477
Currently, the default value for rule-visibility-items is set to all. This means that rules will by default be shown even in segments where there are no items around the rule or when there is an item only on one side of the rule. This works as intended for grid, so no need to change it.
As a result, we'd like to propose auto for this property (and make it the default), so that we can resolve to all for grid containers (which is the current default) and to between for multicol containers to address backwards compat issues.
I agree that we should be backward compatible with existing multicolumn content, but based on the discussion in #13127 (comment) I wonder if the new keyword should be normal rather than auto.
The CSS Working Group just discussed [css-gaps-1] Introduce `rule-visibility-items: auto` , and agreed to the following:
RESOLVED: Poll for whether Grid should default to 'between' or 'all'. Based on that, the initial value will be either 'between' or 'normal' (all for grid, between for multicol/flex)
The full IRC log of that discussion
<hoch> javierct: For rule visibility items we wanted to introduce 'auto'. rule-visibility-items allows authors to control where those rules are actually shown.
<hoch> javierct: The main issue is we have 3 different options: all, between, and around.
<hoch> javierct: Currently the default is set to 'all'
<oSamDavis> q+
<hoch> javierct: 'all' may cause backwards compatibility issue for multi-col. We'd still like it for grid, but would like to make a 'auto' to cover this.
<astearns> ack oSamDavis
<astearns> ack fantasai
<oSamDavis> q+
<astearns> ack oSamDavis
<kbabbitt> q+
<hoch> <discussion of how the different keywords behaved>
<hoch> fantasai: Kevin was wondering if the keyword should be 'normal' rather than 'auto'. I lean that direction. Matching gap.
<hoch> oSamDavis: It will be a rename 'auto' to 'normal', so 'normal' still resolves to one of the keywords?
<hoch> fantasai: yes
<astearns> ack kbabbitt
<fantasai> fantasai: Also curious what Rachel Andrew and Miriam think about the proposal.
<miriam> q+
<hoch> kbabbitt: In terms of the default behavior for grid, looking through the initial examples, there's examples for all 3 behaviors. The ones without empty cells were the first examples. Once we got into dev trials author cases came up for empty cells and between. I think 'all' is the most intuitive default and you can adjust as you want, even though
<hoch> it is inconsistent with the pre-existing behavior for multi-col.
<astearns> ack miriam
<hoch> miriam: 'between' is what I would have expected as the default in grid.
<hoch> kbabbitt: I would be open to making that change. Other opinions?
<hoch> astearns: I'm slightly in favor of consistency. Particularly since we have an existing behavior we have to support. Another benefit is we wouldn't have to use normal.
<hoch> astearns: Also in quite a lot of grid cases, the differences would be minimal.
<hoch> fantasai: flex would also default to 'all'?
<fantasai> s/all/between/
<hoch> kbabbitt: yes
<alisonmaher> q+
<astearns> ack alisonmaher
<hoch> alisonmaher: I lean towards having a different default for grid.
<astearns> ack fantasai
<hoch> fantasai: Maybe a straw poll on the name?
<hoch> fantasai: We can resolve here that if we're adding a keyword, it's 'normal'.
<fantasai> https://github.com//issues/11491#issuecomment-3711456023
<hoch> astearns: We should definitely resolve that the default mult-col behavior is between. The mechanism by which we get there is either a new keyword, or setting the default to 'between' for everything.
<fantasai> s|https://github.com//issues/11491#issuecomment-3711456023||
<fantasai> "Column rules are only drawn between two columns that both have content." -- https://www.w3.org/TR/css-multicol-1/#column-gaps-and-rules
<hoch> PROPOSED: The default behavior for rule-visibility-items is 'between' (for backwards compat), and then we will poll on how we get there.
<fantasai> PROPOSED: Poll for whether Grid should default to 'between' or 'all'. Based on that, the initial value will be either 'between' or 'normal' (all for grid, between for multicol/flex)
<fantasai> RESOLVED: Poll for whether Grid should default to 'between' or 'all'. Based on that, the initial value will be either 'between' or 'normal' (all for grid, between for multicol/flex)
My instinct for grid was that I would most often want between, and I like the consistency with multicol. But (as others pointed out)…
Many grids will be filled, and get the same result from both
I'm not actually sure when between or around will be the better approach for grids with empty cells. I don't know if one of them is clearly a better default than the other.
It's very surprising to have a default that potentially results in no decorations as you are building the grid, depending on content.
So even if I most often want one of between/around, I'm coming around to the argument that all is a better default.
Activity
[gap-decorations] Introduce rule-visibility-items: auto
[gap-decorations] Introduce rule-visibility-items: auto
[gap-decorations] Introduce rule-visibility-items: auto
[gap-decorations] Introduce rule-visibility-items: auto
Bug 2016250 [wpt PR 57726] - [gap-decorations] Introduce rule-visibil…
kbabbitt commentedon Mar 4, 2026
I agree that we should be backward compatible with existing multicolumn content, but based on the discussion in #13127 (comment) I wonder if the new keyword should be
normalrather thanauto.kbabbitt commentedon Mar 5, 2026
To illustrate the issue: https://codepen.io/kevinbcmu/pen/WbGrOGe
Behavior without Gap Decorations:
Behavior implied by
rule-visibility-items: all:css-meeting-bot commentedon Mar 18, 2026
The CSS Working Group just discussed
[css-gaps-1] Introduce `rule-visibility-items: auto`, and agreed to the following:RESOLVED: Poll for whether Grid should default to 'between' or 'all'. Based on that, the initial value will be either 'between' or 'normal' (all for grid, between for multicol/flex)The full IRC log of that discussion
<hoch> javierct: For rule visibility items we wanted to introduce 'auto'. rule-visibility-items allows authors to control where those rules are actually shown.<hoch> javierct: The main issue is we have 3 different options: all, between, and around.
<hoch> javierct: Currently the default is set to 'all'
<oSamDavis> q+
<hoch> javierct: 'all' may cause backwards compatibility issue for multi-col. We'd still like it for grid, but would like to make a 'auto' to cover this.
<astearns> ack oSamDavis
<astearns> ack fantasai
<oSamDavis> q+
<astearns> ack oSamDavis
<kbabbitt> q+
<hoch> <discussion of how the different keywords behaved>
<hoch> fantasai: Kevin was wondering if the keyword should be 'normal' rather than 'auto'. I lean that direction. Matching gap.
<hoch> oSamDavis: It will be a rename 'auto' to 'normal', so 'normal' still resolves to one of the keywords?
<hoch> fantasai: yes
<astearns> ack kbabbitt
<fantasai> fantasai: Also curious what Rachel Andrew and Miriam think about the proposal.
<miriam> q+
<hoch> kbabbitt: In terms of the default behavior for grid, looking through the initial examples, there's examples for all 3 behaviors. The ones without empty cells were the first examples. Once we got into dev trials author cases came up for empty cells and between. I think 'all' is the most intuitive default and you can adjust as you want, even though
<hoch> it is inconsistent with the pre-existing behavior for multi-col.
<astearns> ack miriam
<hoch> miriam: 'between' is what I would have expected as the default in grid.
<hoch> kbabbitt: I would be open to making that change. Other opinions?
<hoch> astearns: I'm slightly in favor of consistency. Particularly since we have an existing behavior we have to support. Another benefit is we wouldn't have to use normal.
<hoch> astearns: Also in quite a lot of grid cases, the differences would be minimal.
<hoch> fantasai: flex would also default to 'all'?
<fantasai> s/all/between/
<hoch> kbabbitt: yes
<alisonmaher> q+
<astearns> ack alisonmaher
<hoch> alisonmaher: I lean towards having a different default for grid.
<astearns> ack fantasai
<hoch> fantasai: Maybe a straw poll on the name?
<hoch> fantasai: We can resolve here that if we're adding a keyword, it's 'normal'.
<fantasai> https://github.com//issues/11491#issuecomment-3711456023
<hoch> astearns: We should definitely resolve that the default mult-col behavior is between. The mechanism by which we get there is either a new keyword, or setting the default to 'between' for everything.
<fantasai> s|https://github.com//issues/11491#issuecomment-3711456023||
<fantasai> "Column rules are only drawn between two columns that both have content." -- https://www.w3.org/TR/css-multicol-1/#column-gaps-and-rules
<hoch> PROPOSED: The default behavior for rule-visibility-items is 'between' (for backwards compat), and then we will poll on how we get there.
<fantasai> PROPOSED: Poll for whether Grid should default to 'between' or 'all'. Based on that, the initial value will be either 'between' or 'normal' (all for grid, between for multicol/flex)
<fantasai> RESOLVED: Poll for whether Grid should default to 'between' or 'all'. Based on that, the initial value will be either 'between' or 'normal' (all for grid, between for multicol/flex)
mirisuzanne commentedon Mar 18, 2026
My instinct for grid was that I would most often want
between, and I like the consistency with multicol. But (as others pointed out)…betweenoraroundwill be the better approach for grids with empty cells. I don't know if one of them is clearly a better default than the other.So even if I most often want one of
between/around, I'm coming around to the argument thatallis a better default.kbabbitt commentedon Mar 18, 2026
Examples for the poll we resolved to conduct: https://codepen.io/kevinbcmu/pen/VYKWMXy
Top row is
alland bottom row isbetween. Which should be the default for Grid, and why?17 remaining items
[css-gaps-1] Add 'normal' value to 'rule-visibility-items'. w3c#13477
[css-gaps-1] Add 'normal' value to 'rule-visibility-items' and make i…
[gap-decorations] Rename rule-visibility-items initial value from aut…
[gap-decorations] Rename rule-visibility-items initial value from aut…
[gap-decorations] Rename rule-visibility-items initial value from aut…
[gap-decorations] Rename rule-visibility-items initial value from aut…
Bug 2029483 [wpt PR 58980] - [gap-decorations] Rename rule-visibility…
Bug 2029483 [wpt PR 58980] - [gap-decorations] Rename rule-visibility…