├── .github └── ISSUE_TEMPLATE.md ├── LICENSE ├── README.md └── docs ├── 1.1.a-bug.html ├── 1.1.b-workaround.html ├── 1.2.a-bug.html ├── 1.2.b-workaround.html ├── 10.1.a-bug.html ├── 10.1.b-workaround.html ├── 11.1.a-bug.html ├── 11.1.b-workaround.html ├── 12.1.a-bug.html ├── 12.1.b-workaround.html ├── 13.1.a-bug.html ├── 13.1.b-workaround.html ├── 14.1.a-bug.html ├── 14.1.b-workaround.html ├── 14.1.c-workaround.html ├── 15.1.a-bug.html ├── 15.1.b-workaround.html ├── 16.1.a-bug.html ├── 16.1.b-workaround.html ├── 17.1.a-bug.html ├── 17.1.b-workaround.html ├── 2.1.a-bug.html ├── 2.1.b-workaround.html ├── 3.1.a-bug.html ├── 3.1.b-workaround.html ├── 3.2.a-bug.html ├── 3.2.b-workaround.html ├── 4.1.a-bug.html ├── 4.1.b-workaround.html ├── 5.1.a-bug.html ├── 5.1.b-workaround.html ├── 6.1.a-bug.html ├── 6.1.b-workaround.html ├── 6.2.a-bug.html ├── 6.2.b-workaround.html ├── 7.1.a-bug.html ├── 7.1.b-workaround.html ├── 7.1.c-workaround.html ├── 8.1.a-bug.html ├── 8.1.b-workaround.html ├── 8.2.a-bug.html ├── 8.2.b-workaround.html ├── 9.1.a-bug.html ├── 9.1.b-workaround.html ├── 9.2.a-bug.html ├── 9.2.b-workaround.html ├── 9.3.a-bug.html ├── README.md └── _config.yml /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### Important! Please read before opening an issue: 2 | 3 | - This repo **is not** for reporting Flexbox bugs in browsers. Please report those directly to the browsers themselves. Here's a link to all major browser bug trackers: https://developers.google.com/web/feedback/#reporting-bugs 4 | 5 | - This repo **is not** for asking Flexbox quesions, please use Stack Overflow for that. 6 | 7 | - This repo **is** for reporting cross-browser workarounds to already-reported Flexbox bugs. Please only open an issue if you know of a good, cross-browser workaround and the bug has already been reported to all affected browsers. 8 | 9 | ### Things to include in your issue: 10 | 11 | - Please include links to the bugs for each affected browser's bug tracker. 12 | 13 | - Please include a live demo ([CodePen](https://codepen.io/) or [JSBin](https://jsbin.com)) showing both the issue and the workaround. 14 | 15 | - Please clearly explain exactly what the expected behavior is and what's not happening in the affected browser(s). It's not always immediately obvious from looking at a demo what is wrong. 16 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Philip Walton 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | :warning: _**UPDATE:** this repo is no longer maintained, as most of the bugs listed here are fixed in modern browsers._ 2 | 3 | Flexbugs 4 | ======== 5 | 6 | This repository is a community-curated list of flexbox issues and cross-browser workarounds for them. The goal is that if you're building a website using flexbox and something isn't working as you'd expect, you can find the solution here. 7 | 8 | As the spec continues to evolve and vendors nail down their implementations, this repo will be updated with newly discovered issues and remove old issues as they're fixed or become obsolete. If you discover a bug that's not listed here, please [report it](#contributing) so everyone else can benefit. 9 | 10 | ## The bugs and their workarounds 11 | 12 | 1. [Minimum content sizing of flex items not honored](#flexbug-1) 13 | 2. [Column flex items set to `align-items: center` overflow their container](#flexbug-2) 14 | 3. [`min-height` on a flex container won't apply to its flex items](#flexbug-3) 15 | 4. [`flex` shorthand declarations with unitless `flex-basis` values are ignored](#flexbug-4) 16 | 5. [Column flex items don't always preserve intrinsic aspect ratios](#flexbug-5) 17 | 6. [The default `flex` value has changed](#flexbug-6) 18 | 7. [`flex-basis` doesn't account for `box-sizing: border-box`](#flexbug-7) 19 | 8. [`flex-basis` doesn't support `calc()`](#flexbug-8) 20 | 9. [Some HTML elements can't be flex containers](#flexbug-9) 21 | 10. [`align-items: baseline` doesn't work with nested flex containers](#flexbug-10) 22 | 11. [Min and max size declarations are ignored when wrapping flex items](#flexbug-11) 23 | 12. [Inline elements are not treated as flex-items](#flexbug-12) 24 | 13. [Importance is ignored on flex-basis when using flex shorthand](#flexbug-13) 25 | 14. [Shrink-to-fit containers with `flex-flow: column wrap` do not contain their items](#flexbug-14) 26 | 15. [Column flex items ignore `margin: auto` on the cross axis](#flexbug-15) 27 | 16. [`flex-basis` cannot be animated](#flexbug-16) 28 | 17. [Flex items are not correctly justified when `max-width` is used](#flexbug-17) 29 | 30 | 31 | 32 | 33 | 34 | ### Flexbug #1 35 | 36 | _Minimum content sizing of flex items not honored_ 37 | 38 |
Demos | 41 |Browsers affected | 42 |Tracking bugs | 43 |
---|---|---|
46 | 1.1.a – bug 47 | 1.1.b – workaround 48 | 1.2.a – bug 49 | 1.2.b – workaround 50 | |
51 |
52 | Chrome (fixed in 72) 53 | Opera (fixed in 60) 54 | Safari (fixed in 10) 55 | |
56 |
57 | Chrome #426898 (fixed) 58 | Chrome #596743 (fixed) 59 | Safari #146020 (fixed) 60 | |
61 |
Demos | 85 |Browsers affected | 86 |
---|---|
89 | 2.1.a – bug 90 | 2.1.b – workaround 91 | |
92 | 93 | Internet Explorer 10-11 (fixed in Edge) 94 | | 95 |
Demos | 115 |Browsers affected | 116 |Tracking bugs | 117 |
---|---|---|
120 | 3.1.a – bug 121 | 3.1.b – workaround 122 | 3.2.a – bug 123 | 3.2.b – workaround 124 | |
125 | Internet Explorer 10-11 (fixed in Edge) | 126 |IE #802625 (archived) | 127 |
Demos | 151 |Browsers affected | 152 |
---|---|
155 | 4.1.a – bug 156 | 4.1.b – workaround 157 | |
158 | Internet Explorer 10-11 (fixed in Edge) | 159 |
Demos | 185 |Browsers affected | 186 |
---|---|
189 | 5.1.a – bug 190 | 5.1.b – workaround 191 | |
192 | Internet Explorer 10-11 (fixed in Edge) | 193 |
Demos | 219 |Browsers affected | 220 |
---|---|
223 | 6.1.a – bug 224 | 6.1.b – workaround 225 | 6.2.a – bug 226 | 6.2.b – workaround 227 | |
228 | Internet Explorer 10 (fixed in 11) | 229 |
Declaration | 239 |What it should mean | 240 |What it means in IE 10 | 241 |
---|---|---|
(no flex declaration) | 244 |flex: 0 1 auto |
245 | flex: 0 0 auto |
246 |
flex: 1 |
249 | flex: 1 1 0% |
250 | flex: 1 0 0px |
251 |
flex: auto |
254 | flex: 1 1 auto |
255 | flex: 1 0 auto |
256 |
flex: initial |
259 | flex: 0 1 auto |
260 | flex: 0 0 auto |
261 |
Demos | 279 |Browsers affected | 280 |
---|---|
283 | 7.1.a – bug 284 | 7.1.b – workaround 285 | 7.1.c – workaround 286 | |
287 | Internet Explorer 10-11 (fixed in Edge) | 288 |
Demos | 313 |Browsers affected | 314 |
---|---|
317 | 8.1.a – bug 318 | 8.1.b – workaround 319 | |
320 | Internet Explorer 10-11 (fixed in Edge) | 321 |
324 | 8.2.a – bug 325 | 8.2.b – workaround 326 | |
327 | Internet Explorer 10 (fixed in 11) | 328 |
Demos | 352 |Browsers affected | 353 |Tracking bugs | 354 |
---|---|---|
357 | 9.1.a – bug 358 | 9.1.b – workaround 359 | 9.2.a – bug 360 | 9.2.b – workaround 361 | 9.3.a – bug 362 | |
363 |
364 | Chrome 365 | Edge 366 | Firefox (fixed in 63) 367 | Opera 368 | Safari (fixed in 11) 369 | |
370 |
371 | Chrome #375693 (fixed) 372 | Chrome #700029 (fixed) 373 | Edge #4511145 (obsolete) 374 | Firefox #984869 (fixed) 375 | Firefox #1230207 (fixed) 376 | Firefox #1397768 (fixed) 377 | Safari #169082 (fixed) 378 | Safari #169700 (fixed) 379 | Safari #190065 (fixed) 380 | |
381 |