CSS Flexible Box Layout Module
Method of positioning elements in horizontal or vertical stacks. Support includes all properties prefixed with flex
, as well as display: flex
, display: inline-flex
, align-content
, align-items
, align-self
, justify-content
and order
.
Spec | https://www.w3.org/TR/css3-flexbox/ |
---|---|
Status | W3C Candidate Recommendation |
IE | Edge | Firefox | Chrome | Safari | Opera |
---|---|---|---|---|---|
98 | |||||
95 | 97 | ||||
94 | 96 | TP | |||
11 (4) | 95 | 93 | 95 | 15 | 80 |
10 (2,4,*) | 94 | 92 | 94 | 14.1 | 79 |
9 | 93 | 91 | 93 | 14 | 78 |
8 | 92 | 90 | 92 | 13.1 | 77 |
Show all | |||||
7 | 91 | 89 | 91 | 13 | 76 |
6 | 90 | 88 | 90 | 12.1 | 75 |
5.5 | 89 | 87 | 89 | 12 | 74 |
88 | 86 | 88 | 11.1 | 73 | |
87 | 85 | 87 | 11 | 72 | |
86 | 84 | 86 | 10.1 | 71 | |
85 | 83 | 85 | 10 | 70 | |
84 | 82 | 84 | 9.1 | 69 | |
83 | 81 | 83 | 9 | 68 | |
81 | 80 | 81 | 8 (*) | 67 | |
80 | 79 | 80 | 7.1 (*) | 66 | |
79 | 78 | 79 | 7 (*) | 65 | |
18 | 77 | 78 | 6.1 (*) | 64 | |
17 | 76 | 77 | 6 (1,*) | 63 | |
16 | 75 | 76 | 5.1 (1,*) | 62 | |
15 | 74 | 75 | 5 (1,*) | 60 | |
14 | 73 | 74 | 4 (1,*) | 58 | |
13 | 72 | 73 | 3.2 (1,*) | 57 | |
12 | 71 | 72 | 3.1 (1,*) | 56 | |
70 | 71 | 55 | |||
69 | 70 | 54 | |||
68 | 69 | 53 | |||
67 | 68 | 52 | |||
66 | 67 | 51 | |||
65 | 66 | 50 | |||
64 | 65 | 49 | |||
63 | 64 | 48 | |||
62 | 63 | 47 | |||
61 | 62 | 46 | |||
60 | 61 | 45 | |||
59 | 60 | 44 | |||
58 | 59 | 43 | |||
57 | 58 | 42 | |||
56 | 57 | 41 | |||
55 | 56 | 40 | |||
54 | 55 | 39 | |||
53 | 54 | 38 | |||
52 | 53 | 37 | |||
51 | 52 | 36 | |||
50 | 51 | 35 | |||
49 | 50 | 34 | |||
48 | 49 | 33 | |||
47 | 48 | 32 | |||
46 | 47 | 31 | |||
45 | 46 | 30 | |||
44 | 45 | 29 | |||
43 | 44 | 28 | |||
42 | 43 | 27 | |||
41 | 42 | 26 | |||
40 | 41 | 25 | |||
39 | 40 | 24 | |||
38 | 39 | 23 | |||
37 | 38 | 22 | |||
36 | 37 | 21 | |||
35 | 36 | 20 | |||
34 | 35 | 19 | |||
33 | 34 | 18 | |||
32 | 33 | 17 | |||
31 | 32 | 16 (*) | |||
30 | 31 | 15 (*) | |||
29 | 30 | 12.1 | |||
28 | 29 | 12 | |||
27 (3) | 28 (*) | 11.6 | |||
26 (3) | 27 (*) | 11.5 | |||
25 (3) | 26 (*) | 11.1 | |||
24 (3) | 25 (*) | 11 | |||
23 (3) | 24 (*) | 10.6 | |||
22 (3) | 23 (*) | 10.5 | |||
21 (1,*) | 22 (*) | 10.0-10.1 | |||
20 (1,*) | 21 (*) | 9.5-9.6 | |||
19 (1,*) | 20 (1,*) | 9 | |||
18 (1,*) | 19 (1,*) | ||||
17 (1,*) | 18 (1,*) | ||||
16 (1,*) | 17 (1,*) | ||||
15 (1,*) | 16 (1,*) | ||||
14 (1,*) | 15 (1,*) | ||||
13 (1,*) | 14 (1,*) | ||||
12 (1,*) | 13 (1,*) | ||||
11 (1,*) | 12 (1,*) | ||||
10 (1,*) | 11 (1,*) | ||||
9 (1,*) | 10 (1,*) | ||||
8 (1,*) | 9 (1,*) | ||||
7 (1,*) | 8 (1,*) | ||||
6 (1,*) | 7 (1,*) | ||||
5 (1,*) | 6 (1,*) | ||||
4 (1,*) | 5 (1,*) | ||||
3.6 (1,*) | 4 (1,*) | ||||
3.5 (1,*) | |||||
3 (1,*) | |||||
2 (1,*) |
Safari on iOS | Opera Mini | Android Browser | Blackberry Browser | Opera Mobile | Android Chrome | Android Firefox | IE Mobile | Android UC Browser | Samsung Internet | QQ Browser | Baidu Browser | KaiOS Browser |
---|---|---|---|---|---|---|---|---|---|---|---|---|
15 | all | 94 | 10 | 64 | 94 | 92 | 11 | 12.12 | 15.0 | 10.4 | 7.12 | 2.5 |
14.5-14.8 | 4.4.3-4.4.4 | 7 (1,*) | 12.1 | 10 (2,*) | 14.0 | |||||||
14.0-14.4 | 4.4 | 12 | 13.0 | |||||||||
13.4-13.7 | 4.2-4.3 (1,*) | 11.5 | 12.0 | |||||||||
Show all | ||||||||||||
13.3 | 4.1 (1,*) | 11.1 | 11.1-11.2 | |||||||||
13.2 | 4 (1,*) | 11 | 10.1 | |||||||||
13.0-13.1 | 3 (1,*) | 10 | 9.2 | |||||||||
12.2-12.5 | 2.3 (1,*) | 8.2 | ||||||||||
12.0-12.1 | 2.2 (1,*) | 7.2-7.4 | ||||||||||
11.3-11.4 | 2.1 (1,*) | 6.2-6.4 | ||||||||||
11.0-11.2 | 5.0-5.4 | |||||||||||
10.3 | 4 | |||||||||||
10.0-10.2 | ||||||||||||
9.3 | ||||||||||||
9.0-9.2 | ||||||||||||
8.1-8.4 (*) | ||||||||||||
8 (*) | ||||||||||||
7.0-7.1 (*) | ||||||||||||
6.0-6.1 (1,*) | ||||||||||||
5.0-5.1 (1,*) | ||||||||||||
4.2-4.3 (1,*) | ||||||||||||
4.0-4.1 (1,*) | ||||||||||||
3.2 (1,*) |
Notes
Most partial support refers to supporting an older version of the specification or an older syntax.
Only supports the old flexbox specification and does not support wrapping.
Only supports the 2012 syntax
Does not support flex-wrap, flex-flow or align-content properties
Partial support is due to large amount of bugs present (see known issues)
- * Partial support with prefix.
Bugs
Flexbugs: community-curated list of flexbox issues and cross-browser workarounds for them
In IE10 the default value for
flex
is0 0 auto
rather than0 1 auto
as defined in the latest spec.In Safari 10.1 and below, the height of (non flex) children are not recognized in percentages. However other browsers recognize and scale the children based on percentage heights. Fixed in all versions > 10.1 (See bug) The bug also appeared in Chrome but was fixed in Chrome 51
Firefox 51 and below does not support Flexbox in button elements. Fixed in version 52.
IE 11 does not vertically align items correctly when
min-height
is used see bugIn IE10 and IE11, containers with
display: flex
andflex-direction: column
will not properly calculate their flexed childrens' sizes if the container hasmin-height
but no explicitheight
property. See bug.IE 11 requires a unit to be added to the third argument, the flex-basis property see MSFT documentation
Safari 10 and below uses min/max width/height declarations for actually rendering the size of flex items, but it ignores those values when calculating how many items should be on a single line of a multi-line flex container. Instead, it simply uses the item's flex-basis value, or its width if the flex basis is set to auto. see bug. Fixed in all versions > 10.
The space-evenly value of the justify-content property, as described in the CSS Box Alignment Module Level 3 is only supported by some browsers.
Resources
- Flexbox CSS generator
- Article on using the latest spec
- Tutorial on cross-browser support
- Examples on how to solve common layout problems with flexbox
- A Complete Guide to Flexbox
- Flexbox playground and code generator
- Flexbugs: Repo for flexbox bugs
- 10up Open Sources IE 8 and 9 Support for Flexbox
- Ecligrid - Mobile first flexbox grid system
- The Difference Between Width and Flex-Basis
Data by caniuse.com
Licensed under the Creative Commons Attribution License v4.0.
https://caniuse.com/flexbox