The flex-grow Property
In simple terms, we use flex-grow property to specify how much flex-container child elements will grow relative to other child elements.
We define it in integer value and the default is 0. You can not add negative values.
If all elements have the same flex-grow, then all items will get the same share space.
The flex-shrink Property
This property is the opposite version of flex-grow.
flex-shrink property specifies how much flex-container child elements will shrink relative to other child elements.
Same as flex-grow, we define it in integer value and the default is 0. You can not add negative values.
The flex-basis Property
Using the flex-basis property, we can define the initial size of flex item. It will shrink and grow is there is a room available but initially the element will take the defined size.
How to use flex-grow, flex-shrink, and flex-basis properties together?
We can use flex property. It’s a shorthand property for the flex-grow, flex-shrink, and flex-basis properties.
The following example will make the first element 200px initial size. Twice 0 won’t allow it to grow or shrink. Pretty handy if we have to keep an element in fixed size but need a freedom to adjust the elements nearby.