Spacing
用於控制元素外距的通用類別。
| Class | Styles |
|---|---|
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)來控制元素所有側邊的外距:
<div class="m-8 ...">m-8</div>使用 mt-<number>、mr-<number>、mb-<number> 和 ml-<number> 通用類別(如 ml-2 和 mt-6)來控制元素單側的外距:
<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)來控制元素的水平外距:
<div class="mx-8 ...">mx-8</div>使用 my-<number> 通用類別(如 my-4 和 my-8)來控制元素的垂直外距:
<div class="my-8 ...">my-8</div>若要使用負外距值,請在類別名稱前加上破折號將其轉換為負值:
<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 邏輯屬性:
Left-to-right
Right-to-left
<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 通用類別實際上只是為群組中除最後一個項目外的所有項目新增外距的捷徑,並不是設計用來處理複雜情況的,例如 grid、會換行的佈局,或子元素以複雜的自訂順序渲染而非其自然 DOM 順序的情況。
對於這些情況,最好盡可能使用 gap 通用類別,或為每個元素新增外距並在父元素上使用相對應的負外距。
此外,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() 函式。
在 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>、 和 ml-<number> 通用類別由 --spacing 主題變數驅動,可以在你自己的主題中自訂:
@theme { --spacing: 1px; }在主題變數文件中了解更多關於自訂間距比例的資訊。