1. 弹性和网格
  2. 弹性

Quick reference

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

基础用法

初始的

使用 flex-initial 允许弹性项目收缩但不增大,同时考虑其初始大小:

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>

Flex 1

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

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>

自动

使用 flex-auto 允许弹性项目增大或缩小,同时考虑其初始大小:

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 来防止弹性项目增大或缩小:

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 允许您使用变体修饰符有条件地在不同状态下应用实用程序类。例如,使用 hover:flex-1 来仅 在 hover应用 flex-1.

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

详细了解, 请参考 Hover, Focus, & Other States 文档.

断点和媒体查询

您还可以使用变体修饰符来定位媒体查询,例如响应式断点、暗模式、首选减少运动等。例如, 使用 md:flex-1 来应用 flex-1 程序,适用于中等屏幕尺寸及以上。

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

进一步了解,请参考 响应式设计, 暗黑模式 媒体查询.


使用自定义值

定制你的主题

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

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

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

任意值

如果您需要使用一次性的 flex值,而该值没有必要包含在主题中,请使用方括号动态生成属性,使用任意值。

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

进一步了解,请参考 任意值 文档.