Reputation: 1487
What is the difference in effect between setting flex: 1;
and setting flex-grow: 1;
? When I set the former in my code, the two columns I have display with equal width, while they do not do so when I set the latter.
This is strange, as I assumed that setting flex: 1;
only affects the flex-grow
property.
Upvotes: 61
Views: 26337
Reputation: 288520
flex
is a shorthand property of flex-grow
, flex-shrink
and flex-basis
.
In this case, flex: 1
sets
flex-grow: 1
flex-shrink: 1
flex-basis: 0
(in old spec drafts it was flex-basis: 0%
)If you only use flex-grow: 1
, you will have
flex-grow: 1
flex-shrink: 1
flex-basis: auto
Then, the difference is that the flex base size will be 0 in the first case, so the flex items will have the same size after distributing free space.
In the second case each flex item will start with the size given by its content, and then will grow or shrink according to free space. Most probably the sizes will end up being different.
Upvotes: 92