弹性和网格
用于控制元素在网格列中的大小和放置方式的实用程序。
使用 col-span-*
实用程序使元素跨越 n 列。
<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 行结束。
<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 主题配置的 gridColumn
、gridColumnStart
和 gridColumnEnd
部分来更改、添加或删除这些实用程序。
要添加新的 col-*
实用程序,请自定义 Tailwind 主题配置的 gridColumn
部分:
module.exports = {
theme: {
extend: {
gridColumn: {
'span-16': 'span 16 / span 16',
}
}
}
}
我们在内部将其用于我们的 col-span-*
实用程序。请注意,由于这直接配置了 grid-column
简写属性,因此我们直接在值名称中包含单词 span
,它不会自动嵌入到类名中。这意味着您可以自由添加执行任何您想要的条目 - 它们不一定是 span
实用程序。
要添加新的 col-start-*
实用程序,请自定义 Tailwind 主题配置的 gridColumnStart
部分:
module.exports = {
theme: {
extend: {
gridColumnStart: {
'13': '13',
'14': '14',
'15': '15',
'16': '16',
'17': '17',
}
}
}
}
要添加新的 col-end-*
实用程序,请自定义 Tailwind 主题配置的 gridColumnEnd
部分:
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>
进一步了解,请参考 任意值 文档.