Home >Web Front-end >CSS Tutorial >How Can I Make Flex-Grow Respect Item's Original Size in a Flex Layout?
In flex layouts, the flex-grow property can be used to proportionally distribute available space among items. However, by default, flex-grow ignores the original size of these items.
When using flex with flex-grow set to 1, all items in a row stretch to fill the available space, resulting in equal widths:
To expand items based on their original size, we can use flex-basis: auto. This tells the browser to consider the content size when calculating the available space.
With flex: auto, the items will now fill the available space proportionally to their original widths:
flex-grow still dictates how the free space is distributed, but the flex-basis value is taken into account first. If flex-basis is auto, the browser determines the intrinsic size of each item and deducts that from the available space. The remaining space is then distributed based on the flex-grow values.
In our example, all items have the same flex-grow value (1), so the available space is distributed equally. However, since the item with the larger title has a wider intrinsic size, it receives a larger portion of the remaining space.
The above is the detailed content of How Can I Make Flex-Grow Respect Item's Original Size in a Flex Layout?. For more information, please follow other related articles on the PHP Chinese website!