1. 弹性和网格
  2. 网格列开始/结束

Quick reference

Class
Properties
col-autogrid-column: auto;
col-span-1grid-column: span 1 / span 1;
col-span-2grid-column: span 2 / span 2;
col-span-3grid-column: span 3 / span 3;
col-span-4grid-column: span 4 / span 4;
col-span-5grid-column: span 5 / span 5;
col-span-6grid-column: span 6 / span 6;
col-span-7grid-column: span 7 / span 7;
col-span-8grid-column: span 8 / span 8;
col-span-9grid-column: span 9 / span 9;
col-span-10grid-column: span 10 / span 10;
col-span-11grid-column: span 11 / span 11;
col-span-12grid-column: span 12 / span 12;
col-span-fullgrid-column: 1 / -1;
col-start-1grid-column-start: 1;
col-start-2grid-column-start: 2;
col-start-3grid-column-start: 3;
col-start-4grid-column-start: 4;
col-start-5grid-column-start: 5;
col-start-6grid-column-start: 6;
col-start-7grid-column-start: 7;
col-start-8grid-column-start: 8;
col-start-9grid-column-start: 9;
col-start-10grid-column-start: 10;
col-start-11grid-column-start: 11;
col-start-12grid-column-start: 12;
col-start-13grid-column-start: 13;
col-start-autogrid-column-start: auto;
col-end-1grid-column-end: 1;
col-end-2grid-column-end: 2;
col-end-3grid-column-end: 3;
col-end-4grid-column-end: 4;
col-end-5grid-column-end: 5;
col-end-6grid-column-end: 6;
col-end-7grid-column-end: 7;
col-end-8grid-column-end: 8;
col-end-9grid-column-end: 9;
col-end-10grid-column-end: 10;
col-end-11grid-column-end: 11;
col-end-12grid-column-end: 12;
col-end-13grid-column-end: 13;
col-end-autogrid-column-end: auto;

基础用法

跨列

使用 col-span-* 实用程序使元素跨越 n 列。

01
02
03
04
05
06
07
<div class="grid grid-cols-3 gap-4">
  <div class="...">01</div>
  <div class="...">02</div>
  <div class="...">03</div>
  <div class="col-span-2 ...">04</div>
  <div class="...">05</div>
  <div class="...">06</div>
  <div class="col-span-2 ...">07</div>
</div>

起始行和结束行

使用 col-start-*col-end-* 实用程序使元素在第 n 条网格线上开始或结束。它们还可以与 col-span-* 实用程序结合使用,以跨越特定数量的列。

请注意,CSS 网格线从 1 开始,而不是从 0 开始,因此 6 列网格中的全宽元素将从第 1 行开始,到第 7 行结束。

01
02
03
04
<div class="grid grid-cols-6 gap-4">
  <div class="col-start-2 col-span-4 ...">01</div>
  <div class="col-start-1 col-end-3 ...">02</div>
  <div class="col-end-7 col-span-2 ...">03</div>
  <div class="col-start-1 col-end-7 ...">04</div>
</div>

条件应用

悬停、聚焦和其他状态

Tailwind 允许您使用变体修饰符有条件地在不同状态下应用实用程序类。例如,使用 hover:col-span-6 来仅 在 hover应用 col-span-6.

<div class="col-span-2 hover:col-span-6">
  <!-- ... -->
</div>

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

断点和媒体查询

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

<div class="col-span-2 md:col-span-6">
  <!-- ... -->
</div>

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


使用自定义值

定制你的主题

默认情况下,Tailwind 包含网格列实用程序,可用于处理最多 12 列的网格。您可以通过自定义 Tailwind 主题配置的 gridColumngridColumnStartgridColumnEnd 部分来更改、添加或删除这些实用程序。

要添加新的 col-* 实用程序,请自定义 Tailwind 主题配置的 gridColumn 部分:

tailwind.config.js
module.exports = {
  theme: {
    extend: {
      gridColumn: {
        'span-16': 'span 16 / span 16',
      }
    }
  }
}

我们在内部将其用于我们的 col-span-* 实用程序。请注意,由于这直接配置了 grid-column 简写属性,因此我们直接在值名称中包含单词 span,它不会自动嵌入到类名中。这意味着您可以自由添加执行任何您想要的条目 - 它们不一定是 span 实用程序。

要添加新的 col-start-* 实用程序,请自定义 Tailwind 主题配置的 gridColumnStart 部分:

tailwind.config.js
module.exports = {
  theme: {
    extend: {
      gridColumnStart: {
        '13': '13',
        '14': '14',
        '15': '15',
        '16': '16',
        '17': '17',
      }
    }
  }
}

要添加新的 col-end-* 实用程序,请自定义 Tailwind 主题配置的 gridColumnEnd 部分:

tailwind.config.js
module.exports = {
  theme: {
    extend: {
      gridColumnEnd: {
        '13': '13',
        '14': '14',
        '15': '15',
        '16': '16',
        '17': '17',
      }
    }
  }
}

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

任意值

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

<div class="col-[16_/_span_16]">
  <!-- ... -->
</div>

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