Re: [csswg-drafts] [css-gaps-1] Bikeshedding names for ways to break gap decorations (#11491)

Since we are considering moving away from the notion of **`intersections`** (which are largely `grid`-specific) and toward gap-decoration **`segments`** (described further in <https://github.com/w3c/csswg-drafts/issues/12784#issuecomment-3514411109>), the current meaning of **`break-rules`** becomes less clear.

Today we have these values:

- `rule-break: none`
- `rule-break: intersection`
- `rule-break: spanning-item`

In the *intersection* model, decorations are contiguous, so these names made sense.  
However, in the *segment* model, decoration segments are already conceptually “broken up,” so the terminology no longer aligns well.

![Image](https://github.com/user-attachments/assets/73c1f62f-42c2-40e5-973a-3ea2a237803e)

Below are a few naming directions we’ve considered that may better reflect the new model.

---

## Option 1 — Rename to `rule-join`

Here, we think of the behavior as **joining segments together** rather than breaking them apart.

- `rule-break: none` → `rule-join: all`  
  All segments are joined into one contiguous decoration.

- `rule-break: intersection` → `rule-join: none`  
  No segments are joined; decorations remain within each segment.

- `rule-break: spanning-item` → _(TBD — needs more bikeshedding)_  
  A possible direction: `rule-join: avoid-spanning-item`.

One caveat: with `rule-join: none`, a gap section flanked by spanning items on both sides would still be joined. So `rule-join: all` vs. `none` can be a bit misleading in edge cases.

![Image](https://github.com/user-attachments/assets/edcc921f-6783-435d-88b0-6ef1011d9693)

---

## Option 2 — Rename to `rule-segment-behavior`

Here, the property describes **how segments themselves are formed**.

- `rule-break: none` → `rule-segment-behavior: none`
- `rule-break: intersection` → `rule-segment-behavior: cross-T`
- `rule-break: spanning-item` → `rule-segment-behavior: T`

I’ll let @oSamDavis expand on this proposal, since he came up with this idea.

---

## Option 3 — Keep `rule-break`, but reinterpreted.

Under this approach, `rule-break` is defined as applying to **decorations**, not to the internal segment structure. The distinction becomes:

- **Segments are the mechanism**
- **Decorations are the painted artifact**

So `rule-break` describes how **decorations** break or join, independent of how segments are defined.

- `rule-break: none`  
  All segments are joined into one contiguous decoration.

- `rule-break: intersection`  
  Decorations remain within each segment, except where segments are flanked by spanning items.

- `rule-break: spanning-item`  
  All segments not “behind” a spanning item are joined, and decorations are painted across them.

---


-- 
GitHub Notification of comment by jav099
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/11491#issuecomment-3711456023 using your GitHub account


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

Received on Monday, 5 January 2026 17:47:12 UTC