1. 弹性盒 & 网格
  2. 弹性

Quick reference

Class
Properties
flex-1flex: 1 1 0%;
flex-autoflex: 1 1 auto;
flex-initialflex: 0 1 auto;
flex-noneflex: none;

基本用法

¥Basic usage

最初

¥Initial

使用 flex-initial 允许弹性项目收缩但不增长,考虑到它的初始大小:

¥Use flex-initial to allow a flex item to shrink but not grow, taking into account its initial size:

01
02
03
<div class="flex">
  <div class="flex-none w-14 ...">
    01
  </div>
  <div class="flex-initial w-64 ...">
    02
  </div>
  <div class="flex-initial w-32 ...">
    03
  </div>
</div>

弹性 1

¥Flex 1

使用 flex-1 允许弹性项目根据需要增长和收缩,忽略其初始大小:

¥Use flex-1 to allow a flex item to grow and shrink as needed, ignoring its initial size:

01
02
03
<div class="flex">
  <div class="flex-none w-14 ...">
    01
  </div>
  <div class="flex-1 w-64 ...">
    02
  </div>
  <div class="flex-1 w-32 ...">
    03
  </div>
</div>

自动

¥Auto

使用 flex-auto 允许弹性项目增长和收缩,同时考虑到它的初始大小:

¥Use flex-auto to allow a flex item to grow and shrink, taking into account its initial size:

01
02
03
<div class="flex ...">
  <div class="flex-none w-14 ...">
    01
  </div>
  <div class="flex-auto w-64 ...">
    02
  </div>
  <div class="flex-auto w-32 ...">
    03
  </div>
</div>

¥None

使用 flex-none 防止弹性项目增长或收缩:

¥Use flex-none to prevent a flex item from growing or shrinking:

01
02
03
<div class="flex ...">
  <div class="flex-none w-14 ...">
    01
  </div>
  <div class="flex-none w-32 ...">
    02
  </div>
  <div class="flex-1 ...">
    03
  </div>
</div>

有条件地应用

悬停、聚焦和其他状态

Tailwind lets you conditionally apply utility classes in different states using variant modifiers. For example, use hover:flex-1 to only apply the flex-1 utility on hover.

<div class="flex-none hover:flex-1">
  <!-- ... -->
</div>

For a complete list of all available state modifiers, check out the Hover, Focus, & Other States documentation.

断点和媒体查询

You can also use variant modifiers to target media queries like responsive breakpoints, dark mode, prefers-reduced-motion, and more. For example, use md:flex-1 to apply the flex-1 utility at only medium screen sizes and above.

<div class="flex-none md:flex-1">
  <!-- ... -->
</div>

To learn more, check out the documentation on Responsive Design, Dark Mode and other media query modifiers.


使用自定义值

¥Using custom values

自定义主题

¥Customizing your theme

默认情况下,Tailwind 提供四个 flex 工具。你可以通过编辑 tailwind.config.js 文件中的 theme.flextheme.extend.flex 来自定义这些值。

¥By default, Tailwind provides four flex utilities. You can customize these values by editing theme.flex or theme.extend.flex in your tailwind.config.js file.

tailwind.config.js
module.exports = {
  theme: {
    extend: {
      flex: {
        '2': '2 2 0%'
      }
    }
  }
}

主题定制 文档中了解有关自定义默认主题的更多信息。

¥Learn more about customizing the default theme in the theme customization documentation.

任意值

¥Arbitrary values

If you need to use a one-off flex value that doesn’t make sense to include in your theme, use square brackets to generate a property on the fly using any arbitrary value.

<div class="flex-[2_2_0%]">
  <!-- ... -->
</div>

Learn more about arbitrary value support in the arbitrary values documentation.