Tailwind CSS 间距 #
间距值系统 #
Tailwind CSS 使用统一的间距比例系统,基于 4px 的倍数:
| 类名后缀 | 值 | 像素 |
|---|---|---|
0 |
0 | 0px |
px |
1px | 1px |
0.5 |
0.125rem | 2px |
1 |
0.25rem | 4px |
1.5 |
0.375rem | 6px |
2 |
0.5rem | 8px |
2.5 |
0.625rem | 10px |
3 |
0.75rem | 12px |
3.5 |
0.875rem | 14px |
4 |
1rem | 16px |
5 |
1.25rem | 20px |
6 |
1.5rem | 24px |
7 |
1.75rem | 28px |
8 |
2rem | 32px |
9 |
2.25rem | 36px |
10 |
2.5rem | 40px |
11 |
2.75rem | 44px |
12 |
3rem | 48px |
14 |
3.5rem | 56px |
16 |
4rem | 64px |
20 |
5rem | 80px |
24 |
6rem | 96px |
28 |
7rem | 112px |
32 |
8rem | 128px |
36 |
9rem | 144px |
40 |
10rem | 160px |
44 |
11rem | 176px |
48 |
12rem | 192px |
52 |
13rem | 208px |
56 |
14rem | 224px |
60 |
15rem | 240px |
64 |
16rem | 256px |
72 |
18rem | 288px |
80 |
20rem | 320px |
96 |
24rem | 384px |
内边距(Padding) #
四边内边距 #
html
<!-- 所有方向 -->
<div class="p-4">四边内边距 1rem</div>
<div class="p-8">四边内边距 2rem</div>
<!-- 无内边距 -->
<div class="p-0">无内边距</div>
水平内边距 #
html
<!-- 左右内边距 -->
<div class="px-4">左右内边距 1rem</div>
<div class="px-8">左右内边距 2rem</div>
垂直内边距 #
html
<!-- 上下内边距 -->
<div class="py-4">上下内边距 1rem</div>
<div class="py-8">上下内边距 2rem</div>
单边内边距 #
html
<!-- 上内边距 -->
<div class="pt-4">上内边距 1rem</div>
<!-- 右内边距 -->
<div class="pr-4">右内边距 1rem</div>
<!-- 下内边距 -->
<div class="pb-4">下内边距 1rem</div>
<!-- 左内边距 -->
<div class="pl-4">左内边距 1rem</div>
逻辑属性 #
html
<!-- 行方向(左右,RTL 友好) -->
<div class="ps-4">起始方向内边距</div>
<div class="pe-4">结束方向内边距</div>
<!-- 块方向(上下) -->
<div class="bs-4">块起始内边距</div>
<div class="be-4">块结束内边距</div>
外边距(Margin) #
四边外边距 #
html
<!-- 所有方向 -->
<div class="m-4">四边外边距 1rem</div>
<div class="m-8">四边外边距 2rem</div>
<!-- 无外边距 -->
<div class="m-0">无外边距</div>
水平外边距 #
html
<!-- 左右外边距 -->
<div class="mx-4">左右外边距 1rem</div>
<div class="mx-auto">水平居中</div>
垂直外边距 #
html
<!-- 上下外边距 -->
<div class="my-4">上下外边距 1rem</div>
单边外边距 #
html
<!-- 上外边距 -->
<div class="mt-4">上外边距 1rem</div>
<!-- 右外边距 -->
<div class="mr-4">右外边距 1rem</div>
<!-- 下外边距 -->
<div class="mb-4">下外边距 1rem</div>
<!-- 左外边距 -->
<div class="ml-4">左外边距 1rem</div>
负外边距 #
html
<!-- 负值外边距 -->
<div class="-mt-4">向上偏移 1rem</div>
<div class="-mr-4">向右偏移 1rem</div>
<div class="-mb-4">向下偏移 1rem</div>
<div class="-ml-4">向左偏移 1rem</div>
<div class="-mx-4">左右负外边距</div>
<div class="-my-4">上下负外边距</div>
<div class="-m-4">四边负外边距</div>
自动外边距 #
html
<!-- 水平居中 -->
<div class="mx-auto w-64">水平居中</div>
<!-- 推向一侧 -->
<div class="ml-auto">推向右侧</div>
<div class="mr-auto">推向左侧</div>
<!-- 垂直居中(需要 flex) -->
<div class="my-auto">垂直居中</div>
逻辑属性 #
html
<!-- 行方向(RTL 友好) -->
<div class="ms-4">起始方向外边距</div>
<div class="me-4">结束方向外边距</div>
<div class="ms-auto">推向结束方向</div>
<!-- 块方向 -->
<div class="mt-4">块起始外边距</div>
<div class="mb-4">块结束外边距</div>
间隙(Gap) #
用于 Flexbox 和 Grid 容器的子元素间距。
统一间隙 #
html
<!-- 所有方向间隙 -->
<div class="flex gap-4">
<div>项目 1</div>
<div>项目 2</div>
<div>项目 3</div>
</div>
<div class="grid grid-cols-3 gap-4">
<div>项目 1</div>
<div>项目 2</div>
<div>项目 3</div>
</div>
行间隙 #
html
<!-- 行之间间隙 -->
<div class="grid grid-cols-2 gap-x-4">
<div>项目 1</div>
<div>项目 2</div>
<div>项目 3</div>
<div>项目 4</div>
</div>
列间隙 #
html
<!-- 列之间间隙 -->
<div class="grid grid-cols-2 gap-y-4">
<div>项目 1</div>
<div>项目 2</div>
<div>项目 3</div>
<div>项目 4</div>
</div>
空间-between(Space Between) #
用于相邻兄弟元素之间的间距。
水平间距 #
html
<!-- 子元素之间水平间距 -->
<div class="flex space-x-4">
<div>项目 1</div>
<div>项目 2</div>
<div>项目 3</div>
</div>
垂直间距 #
html
<!-- 子元素之间垂直间距 -->
<div class="flex flex-col space-y-4">
<div>项目 1</div>
<div>项目 2</div>
<div>项目 3</div>
</div>
反向间距 #
html
<!-- 反向布局时使用 space-x-reverse -->
<div class="flex flex-row-reverse space-x-4 space-x-reverse">
<div>项目 1</div>
<div>项目 2</div>
<div>项目 3</div>
</div>
space-between vs gap #
html
<!-- space-between:使用 margin -->
<div class="flex space-x-4">
<div>项目 1</div> <!-- mr-4 -->
<div>项目 2</div> <!-- mr-4 -->
<div>项目 3</div> <!-- 无 margin -->
</div>
<!-- gap:使用 gap 属性 -->
<div class="flex gap-4">
<div>项目 1</div>
<div>项目 2</div>
<div>项目 3</div>
</div>
分割线(Divide) #
用于相邻兄弟元素之间的分割线。
水平分割 #
html
<div class="divide-x divide-gray-200">
<div class="px-4">项目 1</div>
<div class="px-4">项目 2</div>
<div class="px-4">项目 3</div>
</div>
垂直分割 #
html
<div class="divide-y divide-gray-200">
<div class="py-4">项目 1</div>
<div class="py-4">项目 2</div>
<div class="py-4">项目 3</div>
</div>
分割线样式 #
html
<!-- 实线(默认) -->
<div class="divide-y divide-solid divide-gray-200">
<!-- 虚线 -->
<div class="divide-y divide-dashed divide-gray-200">
<!-- 点线 -->
<div class="divide-y divide-dotted divide-gray-200">
<!-- 无分割线 -->
<div class="divide-y divide-none">
分割线宽度 #
html
<div class="divide-y divide-2 divide-gray-200">
<div class="divide-y divide-4 divide-gray-200">
任意值 #
html
<!-- 任意内边距 -->
<div class="p-[13px]">自定义内边距</div>
<div class="px-[20px]">自定义水平内边距</div>
<!-- 任意外边距 -->
<div class="m-[10px]">自定义外边距</div>
<div class="mt-[2em]">自定义上外边距</div>
<!-- 任意间隙 -->
<div class="gap-[15px]">自定义间隙</div>
实战示例 #
卡片组件 #
html
<div class="p-6 bg-white rounded-lg shadow-md">
<h3 class="text-lg font-semibold mb-2">卡片标题</h3>
<p class="text-gray-600 mb-4">卡片内容描述</p>
<button class="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600">
操作按钮
</button>
</div>
导航栏 #
html
<nav class="px-6 py-4 bg-white shadow">
<div class="flex items-center justify-between max-w-7xl mx-auto">
<span class="text-xl font-bold">Logo</span>
<div class="flex items-center space-x-6">
<a href="#" class="hover:text-blue-500">首页</a>
<a href="#" class="hover:text-blue-500">关于</a>
<a href="#" class="hover:text-blue-500">联系</a>
</div>
</div>
</nav>
列表 #
html
<ul class="space-y-3">
<li class="p-4 bg-gray-50 rounded">列表项 1</li>
<li class="p-4 bg-gray-50 rounded">列表项 2</li>
<li class="p-4 bg-gray-50 rounded">列表项 3</li>
</ul>
<!-- 或使用分割线 -->
<ul class="divide-y divide-gray-200">
<li class="py-4">列表项 1</li>
<li class="py-4">列表项 2</li>
<li class="py-4">列表项 3</li>
</ul>
表单 #
html
<form class="space-y-4">
<div>
<label class="block mb-1 text-sm font-medium">用户名</label>
<input class="w-full px-4 py-2 border rounded-lg">
</div>
<div>
<label class="block mb-1 text-sm font-medium">密码</label>
<input type="password" class="w-full px-4 py-2 border rounded-lg">
</div>
<button class="w-full py-2 bg-blue-500 text-white rounded-lg">
登录
</button>
</form>
页面布局 #
html
<div class="min-h-screen flex flex-col">
<header class="py-4 px-6 bg-white shadow">
头部
</header>
<main class="flex-1 py-8 px-6">
<div class="max-w-7xl mx-auto">
主内容
</div>
</main>
<footer class="py-6 px-6 bg-gray-100">
底部
</footer>
</div>
重叠效果 #
html
<div class="relative">
<div class="bg-blue-500 p-8">
背景元素
</div>
<div class="bg-white p-6 shadow-lg -mt-4 mx-4 rounded-lg">
重叠卡片
</div>
</div>
下一步 #
掌握间距后,继续学习 尺寸 了解尺寸控制!
最后更新:2026-03-28