间距
用于控制元素 margin 的实用工具。
类名 | 样式 |
---|---|
m-<number> | margin: calc(var(--spacing) * <number>); |
-m-<number> | margin: calc(var(--spacing) * -<number>); |
m-auto | margin: auto; |
m-px | margin: 1px; |
-m-px | margin: -1px; |
m-(<custom-property>) | margin: var(<custom-property>); |
m-[<value>] | margin: <value>; |
mx-<number> | margin-inline: calc(var(--spacing) * <number>); |
-mx-<number> | margin-inline: calc(var(--spacing) * -<number>); |
mx-auto | margin-inline: auto; |
mx-px | margin-inline: 1px; |
-mx-px | margin-inline: -1px; |
mx-(<custom-property>) | margin-inline: var(<custom-property>); |
mx-[<value>] | margin-inline: <value>; |
my-<number> | margin-block: calc(var(--spacing) * <number>); |
-my-<number> | margin-block: calc(var(--spacing) * -<number>); |
my-auto | margin-block: auto; |
my-px | margin-block: 1px; |
-my-px | margin-block: -1px; |
my-(<custom-property>) | margin-block: var(<custom-property>); |
my-[<value>] | margin-block: <value>; |
ms-<number> | margin-inline-start: calc(var(--spacing) * <number>); |
-ms-<number> | margin-inline-start: calc(var(--spacing) * -<number>); |
ms-auto | margin-inline-start: auto; |
ms-px | margin-inline-start: 1px; |
-ms-px | margin-inline-start: -1px; |
ms-(<custom-property>) | margin-inline-start: var(<custom-property>); |
ms-[<value>] | margin-inline-start: <value>; |
me-<number> | margin-inline-end: calc(var(--spacing) * <number>); |
-me-<number> | margin-inline-end: calc(var(--spacing) * -<number>); |
me-auto | margin-inline-end: auto; |
me-px | margin-inline-end: 1px; |
-me-px | margin-inline-end: -1px; |
me-(<custom-property>) | margin-inline-end: var(<custom-property>); |
me-[<value>] | margin-inline-end: <value>; |
mt-<number> | margin-top: calc(var(--spacing) * <number>); |
-mt-<number> | margin-top: calc(var(--spacing) * -<number>); |
mt-auto | margin-top: auto; |
mt-px | margin-top: 1px; |
-mt-px | margin-top: -1px; |
mt-(<custom-property>) | margin-top: var(<custom-property>); |
mt-[<value>] | margin-top: <value>; |
mr-<number> | margin-right: calc(var(--spacing) * <number>); |
-mr-<number> | margin-right: calc(var(--spacing) * -<number>); |
mr-auto | margin-right: auto; |
mr-px | margin-right: 1px; |
-mr-px | margin-right: -1px; |
mr-(<custom-property>) | margin-right: var(<custom-property>); |
mr-[<value>] | margin-right: <value>; |
mb-<number> | margin-bottom: calc(var(--spacing) * <number>); |
-mb-<number> | margin-bottom: calc(var(--spacing) * -<number>); |
mb-auto | margin-bottom: auto; |
mb-px | margin-bottom: 1px; |
-mb-px | margin-bottom: -1px; |
mb-(<custom-property>) | margin-bottom: var(<custom-property>); |
mb-[<value>] | margin-bottom: <value>; |
ml-<number> | margin-left: calc(var(--spacing) * <number>); |
-ml-<number> | margin-left: calc(var(--spacing) * -<number>); |
ml-auto | margin-left: auto; |
ml-px | margin-left: 1px; |
-ml-px | margin-left: -1px; |
ml-(<custom-property>) | margin-left: var(<custom-property>); |
ml-[<value>] | margin-left: <value>; |
space-x-<number> | & > :not(:last-child) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * <number>) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * <number>) * calc(1 - var(--tw-space-x-reverse))); }; |
-space-x-<number> | & > :not(:last-child) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * -<number>) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * -<number>) * calc(1 - var(--tw-space-x-reverse))); }; |
space-x-px | & > :not(:last-child) { --tw-space-x-reverse: 0; margin-inline-start: calc(1px * var(--tw-space-x-reverse)); margin-inline-end: calc(1px * calc(1 - var(--tw-space-x-reverse))); }; |
-space-x-px | & > :not(:last-child) { --tw-space-x-reverse: 0; margin-inline-start: calc(-1px * var(--tw-space-x-reverse)); margin-inline-end: calc(-1px * calc(1 - var(--tw-space-x-reverse))); }; |
space-x-(<custom-property>) | & > :not(:last-child) { --tw-space-x-reverse: 0; margin-inline-start: calc(var(<custom-property>) * var(--tw-space-x-reverse)); margin-inline-end: calc(var(<custom-property>) * calc(1 - var(--tw-space-x-reverse))); }; |
space-x-[<value>] | & > :not(:last-child) { --tw-space-x-reverse: 0; margin-inline-start: calc(<value> * var(--tw-space-x-reverse)); margin-inline-end: calc(<value> * calc(1 - var(--tw-space-x-reverse))); }; |
space-y-<number> | & > :not(:last-child) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * <number>) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * <number>) * calc(1 - var(--tw-space-y-reverse))); }; |
-space-y-<number> | & > :not(:last-child) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * -<number>) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * -<number>) * calc(1 - var(--tw-space-y-reverse))); }; |
space-y-px | & > :not(:last-child) { --tw-space-y-reverse: 0; margin-block-start: calc(1px * var(--tw-space-y-reverse)); margin-block-end: calc(1px * calc(1 - var(--tw-space-y-reverse))); }; |
-space-y-px | & > :not(:last-child) { --tw-space-y-reverse: 0; margin-block-start: calc(-1px * var(--tw-space-y-reverse)); margin-block-end: calc(-1px * calc(1 - var(--tw-space-y-reverse))); }; |
space-y-(<custom-property>) | & > :not(:last-child) { --tw-space-y-reverse: 0; margin-block-start: calc(var(<custom-property>) * var(--tw-space-y-reverse)); margin-block-end: calc(var(<custom-property>) * calc(1 - var(--tw-space-y-reverse))); }; |
space-y-[<value>] | & > :not(:last-child) { --tw-space-y-reverse: 0; margin-block-start: calc(<value> * var(--tw-space-y-reverse)); margin-block-end: calc(<value> * calc(1 - var(--tw-space-y-reverse))); }; |
space-x-reverse | & > :not(:last-child)) { --tw-space-x-reverse: 1; } |
space-y-reverse | & > :not(:last-child)) { --tw-space-y-reverse: 1; } |
使用 m-<number>
实用工具,例如 m-4
和 m-8
来控制元素所有侧面的 margin
<div class="m-8 ...">m-8</div>
使用 mt-<number>
、mr-<number>
、mb-<number>
和 ml-<number>
实用工具,例如 ml-2
和 mt-6
来控制元素一侧的 margin
<div class="mt-6 ...">mt-6</div><div class="mr-4 ...">mr-4</div><div class="mb-8 ...">mb-8</div><div class="ml-2 ...">ml-2</div>
使用 mx-<number>
实用工具,例如 mx-4
和 mx-8
来控制元素的水平 margin
<div class="mx-8 ...">mx-8</div>
使用 my-<number>
实用工具,例如 my-4
和 my-8
来控制元素的垂直 margin
<div class="my-8 ...">my-8</div>
要使用负 margin 值,请在类名前面加上一个短划线,将其转换为负值
<div class="h-16 w-36 bg-sky-400 opacity-20 ..."></div><div class="-mt-8 bg-sky-300 ...">-mt-8</div>
使用 ms-<number>
或 me-<number>
实用工具,例如 ms-4
和 me-8
来设置 margin-inline-start
和 margin-inline-end
逻辑属性
从左到右
从右到左
<div> <div dir="ltr"> <div class="ms-8 ...">ms-8</div> <div class="me-8 ...">me-8</div> </div> <div dir="rtl"> <div class="ms-8 ...">ms-8</div> <div class="me-8 ...">me-8</div> </div></div>
使用 space-x-<number>
或 space-y-<number>
实用工具,例如 space-x-4
和 space-y-8
来控制元素之间的间距
<div class="flex space-x-4 ..."> <div>01</div> <div>02</div> <div>03</div></div>
如果你的元素是反向顺序(例如使用 flex-row-reverse
或 flex-col-reverse
),请使用 space-x-reverse
或 space-y-reverse
实用工具来确保间距添加到每个元素的正确侧
<div class="flex flex-row-reverse space-x-4 space-x-reverse ..."> <div>01</div> <div>02</div> <div>03</div></div>
space 实用工具实际上只是向组中除最后一个项目之外的所有项目添加 margin 的快捷方式,并非旨在处理复杂的情况,例如网格、换行的布局或子元素以复杂的自定义顺序而不是其自然 DOM 顺序呈现的情况。
对于这些情况,最好在可能的情况下使用 gap 实用工具,或者向每个元素添加 margin,并在父元素上添加匹配的负 margin。
此外,space 实用工具并非旨在与 divide 实用工具 一起使用。对于这些情况,请考虑改为向子元素添加 margin/padding 实用工具。
使用如下实用工具 m-[<value>]
、mx-[<value>]
、和 mb-[<value>]
来设置margin基于完全自定义的值
<div class="m-[5px] ..."> <!-- ... --></div>
对于 CSS 变量,你还可以使用 m-(<custom-property>)
语法
<div class="m-(--my-margin) ..."> <!-- ... --></div>
这只是 m-[var(<custom-property>)]
的简写,它会自动为你添加 var()
函数。
前缀a margin
实用工具 带有断点变体,例如 md:
,仅在中等 屏幕尺寸及以上应用该实用工具
<div class="mt-4 md:mt-8 ..."> <!-- ... --></div>
在 变体文档 中了解有关使用变体的更多信息。
m-<number>
、mx-<number>
、my-<number>
、ms-<number>
、me-<number>
、mt-<number>
、mr-<number>
、mb-<number>
、 m-<number>
、mx-<number>
、my-<number>
、ms-<number>
、me-<number>
、mt-<number>
、mr-<number>
、mb-<number>
、和 ml-<number>
实用工具由 --spacing
主题变量驱动,可以在你自己的主题中自定义
@theme { --spacing: 1px; }
在 主题变量文档 中了解有关自定义间距比例的更多信息。