Flexbox

CSS flex-grow Property

Sets how much a flex item will grow relative to the rest of the items

Syntax

CSS
flex-grow: <number>;

Values

ValueDescription
0Does not grow (default)
1Grows to fill available space equally
2Grows twice as much as items with flex-grow: 1

Example

CSS
.main-content {
  flex-grow: 1;
}
.sidebar {
  flex-grow: 0;
}

Understanding CSS flex-grow

The CSS flex-grow property sets how much a flex item will grow relative to the rest of the items. As part of the Flexbox module in CSS, it is one of the most commonly used properties for controlling the visual presentation of web pages.

You can set flex-grow to values such as 0, 1, 2, among others. Each value changes how the browser renders the affected element, giving you fine-grained control over your page layout and design. Choosing the right value depends on the specific design requirements of your project.

Common use cases for the flex-grow property include responsive web design, component-based layouts, and creating visually consistent interfaces across devices. It works closely with related properties like flex-shrink, flex-basis, flex to achieve complex styling effects. Understanding how these properties interact helps you write cleaner, more maintainable stylesheets.

Browser support for flex-grow is excellent across all modern browsers including Chrome, Firefox, Safari, and Edge. For older browsers, consider using fallback values or progressive enhancement strategies. The property can also be set dynamically via JavaScript using element.style.flexGrow or the CSS custom properties (variables) approach for theming.

Related Properties

Explore More CSS Properties

Browse our complete reference of 251 CSS properties with syntax, examples, and tips.