「及時」模式:全新世代的 Tailwind CSS
Tailwind CSS on GitHub

Flex Shrink

Utilities for controlling how flex items shrink.

Default class reference

Class
屬性
flex-shrink-0flex-shrink: 0;
flex-shrinkflex-shrink: 1;

Shrink

Use flex-shrink to allow a flex item to shrink if needed:

<div class="flex ...">
  <div class="flex-grow w-16 h-16 ...">
    <!-- This item will grow or shrink as needed -->
  </div>
  <div class="flex-shrink w-64 h-16 ...">
    <!-- This item will shrink -->
  </div>
  <div class="flex-grow w-16 h-16 ...">
    <!-- This item will grow or shrink as needed -->
  </div>
</div>

Don't shrink

Use flex-shrink-0 to prevent a flex item from shrinking:

<div class="flex ...">
  <div class="flex-1 h-16 ...">
    <!-- This item will grow or shrink as needed -->
  </div>
  <div class="flex-shrink-0 h-16 w-32 ...">
    <!-- This item will not shrink below its initial size-->
  </div>
  <div class="flex-1 h-16 ...">
    <!-- This item will grow or shrink as needed -->
  </div>
</div>

Responsive

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

<div class="flex ...">
  <!-- ... -->
  <div class="flex-shrink md:flex-shrink-0 ...">
    Responsive flex item
  </div>
  <!-- ... -->
</div>

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

Customizing

Shrink Values

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

  // tailwind.config.js
  module.exports = {
    theme: {
      flexShrink: {
        '0': 0,
-       DEFAULT: 1,
+       DEFAULT: 2,
+       '1': 1,
      }
    }
  }

Variants

默認情況下, 只有 響應式 的 flex shrink 變化模式 (variants) 會產生。

tailwind.config.jsvariants 區塊中變更 flexShrink 屬性來決定有哪些變化模式會生成。

舉個例子來說,這個設定將會生成 響應式 和 hover 的變化模式。

  // tailwind.config.js
  module.exports = {
    variants: {
      extend: {
        // ...
+       flexShrink: ['responsive', 'hover'],
      }
    }
  }

Disabling

如果你不打算在專案中使用 flex shrink 功能,可以在你的設定檔裡的 corePlugins 屬性中將 flexShrink 設定為 false 來停用功能:

  // tailwind.config.js
  module.exports = {
    corePlugins: {
      // ...
+     flexShrink: false,
    }
  }