スペーシング
要素の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; } |
要素のすべての辺のmarginを制御するには、m-<number>
ユーティリティ(m-4
、m-8
など)を使用します。
<div class="m-8 ...">m-8</div>
要素の片側のmarginを制御するには、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>
要素の水平方向のmarginを制御するには、mx-<number>
ユーティリティ(mx-4
、mx-8
など)を使用します。
<div class="mx-8 ...">mx-8</div>
要素の垂直方向のmarginを制御するには、my-<number>
ユーティリティ(my-4
、my-8
など)を使用します。
<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>
margin-inline-start
およびmargin-inline-end
論理プロパティを設定するには、ms-<number>
またはme-<number>
ユーティリティ(ms-4
、me-8
など)を使用します。
左から右
右から左
<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:
のようなブレークポイントバリアントを付けると、ユーティリティを適用するのはmedium 画面サイズ以上の場合のみになります
<div class="mt-4 md:mt-8 ..."> <!-- ... --></div>
バリアントの使用方法の詳細については、バリアントのドキュメントを参照してください。
The m-<number>
、mx-<number>
、my-<number>
、ms-<number>
、me-<number>
、mt-<number>
、mr-<number>
、mb-<number>
、およびml-<number>
ユーティリティは、--spacing
テーマ変数によって駆動され、独自のテーマでカスタマイズできます
@theme { --spacing: 1px; }
スペーシングスケールのカスタマイズの詳細については、テーマ変数のドキュメントを参照してください。