Skip to content

Tailwind CSS 包裹与网格

Flexbox 和 Grid 是现代 CSS 布局的两个基石。Tailwind 为它们提供了全面且直观的工具类,让你可以轻松构建任何类型的响应式布局。

Flexbox

要使用 Flexbox,首先需要在一个容器元素上添加 flex 类。

html
<div class="flex">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
</div>

Flex Direction

控制主轴的方向。

  • flex-row: (默认) 子元素水平排列。
  • flex-row-reverse: 子元素水平反向排列。
  • flex-col: 子元素垂直排列。
  • flex-col-reverse: 子元素垂直反向排列。

Justify Content

控制子元素在主轴上的对齐方式。

  • justify-start: (默认) 从主轴起点开始排列。
  • justify-center: 在主轴上居中排列。
  • justify-end: 从主轴终点开始排列。
  • justify-between: 两端对齐,项目之间的间隔都相等。
  • justify-around: 每个项目两侧的间隔相等。

Align Items

控制子元素在交叉轴上的对齐方式。

  • items-start: 在交叉轴起点对齐。
  • items-center: 在交叉轴上居中对齐。
  • items-end: 在交叉轴终点对齐。
  • items-baseline: 基线对齐。
  • items-stretch: (默认) 拉伸以填满交叉轴。

Flex Grow & Shrink

控制子元素的放大和缩小比例。

  • grow: 允许元素放大以填充可用空间 (flex-grow: 1)。
  • grow-0: 不允许元素放大。
  • shrink: 允许元素缩小 (flex-shrink: 1)。
  • shrink-0: 不允许元素缩小。

Grid

要使用 Grid 布局,首先在容器上添加 grid 类。

html
<div class="grid grid-cols-3 gap-4">
  <div>1</div>
  <div>2</div>
  <!-- ... -->
  <div>9</div>
</div>

Grid Template Columns & Rows

定义网格的列数和行数。

  • grid-cols-3: 创建一个三列网格。
  • grid-rows-2: 创建一个两行网格。
  • Tailwind 提供了从 1 到 12 的预设列/行数。

Gap

控制网格项之间的间距。

  • gap-4: 在所有方向上设置间距。
  • gap-x-8: 只设置水平(列)间距。
  • gap-y-2: 只设置垂直(行)间距。

Spanning Columns & Rows

让某个网格项跨越多列或多行。

  • col-span-2: 让一个项占据两列的宽度。
  • row-span-3: 让一个项占据三行的高度。
html
<div class="grid grid-cols-3 gap-4">
  <div class="col-span-2 ...">...</div>
  <div>...</div>
  <div>...</div>
  <div class="col-span-3 ...">...</div>
</div>

Starting and Ending Lines

精确控制网格项的起始和结束位置。

  • col-start-2: 让一个项从第二条列网格线开始。
  • col-end-5: 让一个项在第五条列网格线结束。

Flexbox 和 Grid 是非常强大的布局工具。Flexbox 更适合一维布局(单行或单列),而 Grid 则更适合二维布局(同时处理行和列)。通过组合使用它们,你可以构建出任何复杂的现代网页布局。