- From: Tab Atkins Jr. via GitHub <noreply@w3.org>
- Date: Mon, 29 Sep 2025 21:48:59 +0000
- To: public-css-archive@w3.org
> [re: indicating "waterfall" masonry using 'column'] Switching a grid/flex layout to a similarly-flowing masonry layout or vice versa would mean inverting the item-flow value. I don't think this is a meaningful downside. A Flexbox, especially, won't look anything like a "similarly-flowing" Masonry - a row Flexbox and a "waterfall" masonry just look completely different from each other past the first few items. You'll need to do a *lot* more adjustments if you're swapping your page from one to the other, so having to change this value too isn't really a pain. You'll just be restyling from scratch regardless. Not to mention, we wanted the initial value of this property to be an "auto" anyway, so Masonry could resolve that to vertical or horizontal depending on whether you'd set grid-template-columns or grid-template-rows. So you wouldn't necessarily have set the propery under Masonry *anyway*, only under Flex. On the other hand... > [re: indicating "brick" masonry using 'column'] But it breaks the expectation that row creates a visible “row” in the layout. Yeah, that's a pretty darn significant expectation to break, I think. A 'row' keyword should produce a row, a 'column' keyword should produce a column. If you set up a 'column' masonry, you should use 'grid-template-columns' to define the tracks, and 'grid-column' to set their spans or explicitly place them when needed. Anything else would be deeply, deeply confusing to authors. ----------- > Does `item-direction: row | column | row-reverse | column-reverse` and `item-wrap: wrap | wrap-reverse` still make sense? I don't think it's great, no. Masonry simply doesn't have a reasonable 'wrap' concept; that's fine for the *value* space (we can just ignore the wrap-ness of the keywords), but having it expressed in the *property name* isn't great. This is why [the spec has a different pair of words for that proposal](https://www.w3.org/TR/css-grid-3/#flow-control). There are other word pairs we could use; making the secondary property sufficiently generic without being just a nonsense word is kinda hard. That said, I don't think it's the end of the world if we do end up using 'item-wrap'. It's not something you usually need to set. Especially if we use the suggested grammar, where wrap/nowrap is separated from the normal/reverse keyword, saying `item-wrap: reverse` in Masonry to indicate that they tie-break in the reverse direction (end to start) isn't terrible. We do end up with awkward naming sometimes, especially if there's an evocative *mostly* correct word that's nice and short, like `wrap`. -- GitHub Notification of comment by tabatkins Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/12803#issuecomment-3349170600 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Monday, 29 September 2025 21:49:02 UTC