Re: [csswg-drafts] [css-multicol-2] `column-wrap`, `column-height` and column balancing (#11976)

I'm not a fan of not spanning a spanner, because that means that we have to lay out the spanner as a spanner initially anyway, then go oops, and lay it out as regular column content instead, placing it in the previous column line that we just finished (so we have to go back, maybe to the previous page with enough "luck"), recalculate for column balancing, etc.

Pushing a spanner to the next row to prevent it from overflowing the current one (and leave a gap above it) should be fine.
If a spanner is taller than the specified row height, it could just overflow the row? Just like we overflow in normal layout? Just like what happens here:

```html
<!DOCTYPE html>
<div style="height:100px; background:yellow;">
  <div style="width:50%; border:solid; height:150px;">
    I'm taller than my ancestor. Too bad. (pretend this is a spanner)
  </div>
</div>
<div style="height:100px;">
  Help, I'm being overflowed. (pretend this is resumed column content after the spanner)
</div>
```

Simply stretching the row in such cases (one of your suggestions) should work too, though, if that seems better. Then, maybe we could do that on a general basis - i.e. always make room for a spanner in the row, rather than jumping to the next row.

Are the following true?
- A multicol container fragment contains one or more rows.
- A row contains lines and spanners.
- There's just one row per multicol container (regardless of how many fragments the multicol container generates (e.g. due to nested fragmentation)), unless `column-height` causes more to be created.
- If nested inside another fragmentation context, a row may cross an outer fragmentainer boundary and resume in the next outer fragmentainer. An outer fragmentation break does not automatically cause another row to be created in the next outer fragmentainer.
- If nested inside another fragmentation context, and a line is constrained by the block-size of the outer fragmentation context, columns will resume inside a new line in the next outer fragmentation context. (nothing new here, really)

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


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

Received on Monday, 23 June 2025 10:47:37 UTC