Re: [csswg-drafts] [css-grid-3] Designer/developer feedback on masonry layout (#10233)

With my CSS Tables editor hat on, I would strongly advise against entirely merging this feature with CSS Grid.

I'll give you two reasons:

1. When layout systems start to introduce modes, it makes it very diffcult to describe what their properties do in a clear way. You keep having to add conditionals, additional explanations, and every new feature that doesn't get thought about equally well in both modes introduce subtle interop bugs between browsers, which over time result in quirks that have to be documented, making the text even less readable.
2. The performance characteristics of CSS Grid and Masonry are completely different. With CSS Grid, where items are located is decided once and for all before doing layout, but this is not the case for Masonry, where every resize can potentially shuffle every element. Layout systems with very different performance characteristics (and recommendations) should probably not be joined together into one name, making it difficult to introduce appropriate guidance, but also causing signifiant slow downs for the fast paths (CSS Grid regressions) or invalidation bugs as new optimizations are introduced using assumuptions that do not hold for the slow paths (Masonry).

As a user, there's a third reason, which is that:

3. The way you can specify columns in CSS Grid does not appear intuitive to me in a word of Masonry. When you have a Masonry with different column sizes, you might want to restrict some items to be placed only in one or the other of the column types, but you cannot achieve this with CSS Grid, at least without significantly changing the semantics of column placement.

I understand the appeal of "just adding one more feature to Grid" but I don't think this is the right path forward. The difference in performance, ordering of layout steps, and (frankly) desired results make a franken-grid system look unappealing from me. This doesn't mean that masonry has to be limited to a few options only, it can certainly draw inspiration from grid, but I'd prefer this to happen as an inspired copy rather than an intricated inplace edit.

My two cents ;)

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


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

Received on Sunday, 28 April 2024 10:12:43 UTC