Tailwind CSS 间距
在设计中,一致且和谐的间距是创造专业、美观的 UI 的关键。Tailwind 提供了一个全面且可定制的间距系统,通过 padding 和 margin 工具类来控制元素内外的空间。
概念:间距比例尺
Tailwind 的间距系统基于一个数字比例尺,默认情况下,1 单位等于 0.25rem (或 4px)。所以,p-4 意味着 padding: 1rem; (4 * 0.25rem),m-8 意味着 margin: 2rem; (8 * 0.25rem)。
这个比例尺是完全可定制的,你可以在 tailwind.config.js 的 theme.spacing 或 theme.extend.spacing 中修改它。
Padding
Padding 用于控制元素内部的空间,即内容与边框之间的距离。
-
p-{size}: 在所有四个方向上应用内边距。p-0:padding: 0px;p-4:padding: 1rem;p-8:padding: 2rem;
-
px-{size}: 只在水平方向(左和右)应用内边距。px-6:padding-left: 1.5rem; padding-right: 1.5rem;
-
py-{size}: 只在垂直方向(上和下)应用内边距。py-2:padding-top: 0.5rem; padding-bottom: 0.5rem;
-
pt-{size},pr-{size},pb-{size},pl-{size}: 分别控制上、右、下、左四个方向的内边距。pt-6:padding-top: 1.5rem;pl-10:padding-left: 2.5rem;
Margin
Margin 用于控制元素外部的空间,即元素边框与其他元素之间的距离。
Margin 的工具类与 Padding 完全相同,只是将 p 换成了 m。
m-{size}: 在所有四个方向上应用外边距。mx-{size}: 在水平方向应用外边距。my-{size}: 在垂直方向应用外边距。mt-{size},mr-{size},mb-{size},ml-{size}: 分别控制上、右、下、左四个方向的外边距。
水平居中
一个非常常见的用例是使用 mx-auto 来使一个固定宽度的块级元素水平居中。
负外边距
Tailwind 也支持负外边距,只需在尺寸前加上一个负号 -。这在创建重叠元素时非常有用。
元素之间的间距
当你有一组元素(例如在一个 Flexbox 或 Grid 容器中)并希望它们之间有均匀的间距时,你有两个主要选择:
-
使用
gap: 如果你使用的是 Flexbox 或 Grid 布局,gap-{size}是最简单、最推荐的方式。 -
使用
space-between: 如果你不能使用gap,可以使用space-x-{size}或space-y-{size}工具类。它会智能地在子元素之间添加外边距,但不会在第一个或最后一个元素上添加。这会给第二个和第三个
div添加margin-top,从而在它们之间创建空间。
通过熟练运用这些间距工具,你可以精确地控制布局的节奏和呼吸感,创造出清晰、平衡的用户界面。