- From: Ian Kilpatrick <notifications@github.com>
- Date: Fri, 08 May 2026 12:23:33 -0700
- To: w3ctag/design-reviews <design-reviews@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3ctag/design-reviews/issues/1227@github.com>
bfgeek created an issue (w3ctag/design-reviews#1227) ### Specification https://drafts.csswg.org/css-flexbox-2/ ### Explainer https://github.com/bfgeek/flex-wrap-balance/blob/main/README.md ### Links - The WG's request for this TAG review: ??? - Previous early design review, if any: N/A - An introduction to the feature, aimed at unfamiliar audiences: https://github.com/bfgeek/flex-wrap-balance/blob/main/README.md#flex-wrapbalance-explainer This allows developers to "balance" flex-lines, (similar to `text-wrap:balance`). - A description of the problems that end-users were facing before this proposal: https://github.com/bfgeek/flex-wrap-balance/blob/main/README.md#flex-wrapbalance-explainer For a wrapping flexbox, developers would often be left with a single flex-item on the last line, which is often undesirable. Developers were often working around this issue by converting a flexbox to inline-layout (to use `text-wrap:balance` instead), and making all the flex-items `display:inline-block`. This meant that they'd "lose" flexbox features limiting potential designs. Other workarounds included: - Detecting when there were "orphans" on the last flex-line, then adding margin on an appropriate flex-item. - Bisecting via script the flexbox size. - Using media-queries/container-queries to hardcode margins to "balance". - etc. Developers also rely on multi-col (see wikipedia "references" section in desktop mode). Developers can re-create this using flexbox, and `flex-direction: column; flex-wrap:balance; flex-line-count: 2;`. Balancing flexbox will generally be less overhead (less time spent within out) then multi-col helping low end devices significantly. - Alternatives considered: https://github.com/bfgeek/flex-wrap-balance/blob/main/README.md#alternatives There aren't too many other potential avenues; others were discussed but `flex-wrap:balance` is the most natural extension and what developers expect. There is an extension point that is left unsolved at the moment (see: https://github.com/w3c/csswg-drafts/issues/13414#issuecomment-4101156045 ), but the current design doesn't constrain solving this in the future. (We'd need the `flex-line-count` property either way). - Examples of how to use the proposal to solve the end-users' problems: https://stackoverflow.com/questions/20729201/navigation-with-balanced-css-flex-wrap-containers https://bsky.app/profile/yisibl.bsky.social/post/3m6jksgovdk2c https://odland.dev/2024/12/22/web-wish-22-flex-wrap-balance.html https://nerdy.dev/css-wishlist-2025#flex-wrap-balance https://bsky.app/profile/una.im/post/3lpcjcjn4w22r https://bfgeek.com/flexbox-image-gallery/ - What do the end-users experience with this proposal: Joy that a 10+ year feature request is available on the web platform. - User research you did to validate the problem and/or design, if any: A lot of reading existing issues that developers were running into, and the various tricks they were using to try and solve this problem. Many developers came to a similar solution space. - Web Platform Tests: https://wpt.fyi/results/css/css-flexbox/balance (they'll be there soon). ### The specification - [x] Follows the [Web Platform Design Principles](https://www.w3.org/TR/design-principles/). - [x] Includes Security and Privacy Considerations sections based on answers to the [Security/Privacy Questionnaire](https://www.w3.org/TR/security-privacy-questionnaire/). ### Where and by whom is the work is being done? - GitHub repo: https://github.com/w3c/csswg-drafts - Primary contacts: - Ian Kilpatrick @bfgeek , Google Chrome, Implementor - Tab Atkins @tabatkins , Google Chrome, Specification Editor - Organization/project driving the specification: Google Chrome - This work is being funded by: Google Chrome - Primary standards group developing this feature: CSSWG - Incubation and standards groups that have discussed the design: CSSWG ### Feedback so far - Active horizontal reviews: - Multi-stakeholder feedback: - Chromium comments: Supportive. - Mozilla comments: https://github.com/mozilla/standards-positions/issues/1405 - WebKit comments: https://github.com/WebKit/standards-positions/issues/660 - Developers: Supportive https://bsky.app/profile/una.im/post/3lpcjcjn4w22r (can provide more signal here if desired). - Major unresolved issues with or opposition to this specification: This not really a major issue but - see above wrt. "column-width" feature. Current solution space doesn't constrain in a negative way. See: https://github.com/w3c/csswg-drafts/issues/13414#issuecomment-4172022385 > `RESOLVED: flex-line-count: <integer>, will work on rest later` - Status/issue trackers for implementations: - https://chromestatus.com/feature/4547107962486784 - https://bugzilla.mozilla.org/show_bug.cgi?id=2013454 - https://bugs.webkit.org/show_bug.cgi?id=314423 ### You should also know that... This is a relatively small but highly requested additional to flexbox layout. Many web-developers have run into this problem over the years. Flexbox Level 1 is a very stable spec, hence being added into Level 2. <!-- Content below this is maintained by @w3c-tag-bot --> --- Track conversations at https://tag-github-bot.w3.org/gh/w3ctag/design-reviews/1227 -- Reply to this email directly or view it on GitHub: https://github.com/w3ctag/design-reviews/issues/1227 You are receiving this because you are subscribed to this thread. Message ID: <w3ctag/design-reviews/issues/1227@github.com>
Received on Friday, 8 May 2026 19:23:41 UTC