Flex Grow

Utilities for controlling how flex items grow.

Class reference

ClassProperties
.flex-growflex-grow: 1;
.flex-grow-0flex-grow: 0;

Grow

Use .flex-grow to allow a flex item to grow to fill any available space:

Flex Grow - 图1

  1. <div class="flex bg-gray-200">
  2. <div class="flex-none text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">
  3. Content that cannot flex
  4. </div>
  5. <div class="flex-grow text-gray-800 text-center bg-gray-500 px-4 py-2 m-2">
  6. Item that will grow
  7. </div>
  8. <div class="flex-none text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">
  9. Content that cannot flex
  10. </div>
  11. </div>

Don’t grow

Use .flex-grow-0 to prevent a flex item from growing:

Flex Grow - 图2

  1. <div class="flex bg-gray-200">
  2. <div class="flex-grow text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">
  3. Will grow
  4. </div>
  5. <div class="flex-grow-0 text-gray-800 text-center bg-gray-500 px-4 py-2 m-2">
  6. Will not grow
  7. </div>
  8. <div class="flex-grow text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">
  9. Will grow
  10. </div>
  11. </div>

Responsive

To control how a flex item grows at a specific breakpoint, add a {screen}: prefix to any existing utility class. For example, use md:flex-grow-0 to apply the flex-grow-0 utility at only medium screen sizes and above.

For more information about Tailwind’s responsive design features, check out the Responsive Design documentation.

  1. <div class="flex ...">
  2. <!-- ... -->
  3. <div class="flex-grow-0 sm:flex-grow md:flex-grow-0 lg:flex-grow xl:flex-grow-0 ...">
  4. Responsive flex item
  5. </div>
  6. <!-- ... -->
  7. </div>

Flex Grow - 图3

Customizing

Grow Values

By default Tailwind provides two flex-grow utilities. You change, add, or remove these by editing the theme.flexGrow section of your Tailwind config.

  1. // tailwind.config.js
  2. module.exports = {
  3. theme: {
  4. flexGrow: {
  5. '0': 0,
  6. - default: 1,
  7. + default: 2,
  8. + '1': 1,
  9. }
  10. }
  11. }

Responsive and pseudo-class variants

By default, only responsive variants are generated for flex grow utilities.

You can control which variants are generated for the flex grow utilities by modifying the flexGrow property in the variants section of your tailwind.config.js file.

For example, this config will also generate hover and focus variants:

  1. // tailwind.config.js
  2. module.exports = {
  3. variants: {
  4. // ...
  5. - flexGrow: ['responsive'],
  6. + flexGrow: ['responsive', 'hover', 'focus'],
  7. }
  8. }

Disabling

If you don’t plan to use the flex grow utilities in your project, you can disable them entirely by setting the flexGrow property to false in the corePlugins section of your config file:

  1. // tailwind.config.js
  2. module.exports = {
  3. corePlugins: {
  4. // ...
  5. + flexGrow: false,
  6. }
  7. }