【Tailwind和訳】FLEXBOX AND GRID/Place Items
この記事について
この記事は、FLEXBOX AND GRID/Place Items の記事を和訳したものです。
記事内で使用する画像は、公式ドキュメント内の画像を引用して使用させていただいております。
Place Items
アイテムの両端揃えと位置合わせを同時にコントロールするユーティリティです。
Class | Properties |
---|---|
place-items-start |
place-items: start; |
place-items-end |
place-items: end; |
place-items-center |
place-items: center; |
place-items-stretch |
place-items: stretch; |
Start
place-items-start
を使うと、グリッドアイテムを両軸のグリッドエリアの開始点に配置できます。
<div class="grid grid-cols-3 gap-2 place-items-start h-48 ...">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</div>
End
グリッドアイテムを両軸のグリッドエリアの端に配置するには、place-items-end
を使用します。
<div class="grid grid-cols-3 gap-2 place-items-end h-48 ...">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</div>
Center
グリッドアイテムを両軸のグリッドエリアの中心に配置するには、place-items-center
を使用します。
<div class="grid grid-cols-3 gap-2 place-items-center h-48 ...">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</div>
Stretch
Place-items-stretch
を使うと、アイテムを両軸のグリッドエリアに沿って伸ばすことができます。
<div class="grid grid-cols-3 gap-2 place-items-stretch h-48 ...">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</div>
Responsive
特定のブレークポイントにアイテムを配置するには、既存の place-items ユーティリティに {screen}:
というプレフィックスを追加します。例えば、md:place-items-center
を使用すると、medium
スクリーンサイズ以上でのみ、place-items-center
ユーティリティを適用することができます。
<div class="place-items-start md:place-items-center">
<!-- ... -->
</div>
Tailwind のレスポンシブデザイン機能の詳細については、レスポンシブデザイン のドキュメントをご覧ください。
Customizing
Variants
デフォルトでは、レスポンシブバリアントのみがプレースイテムユーティリティのために生成されます。
tailwind.config.js
ファイルの variants
セクションにある placeItems
プロパティを変更することで、place-items ユーティリティのために生成されるバリアントをコントロールすることができます。
例えば、この config はホバーとフォーカスのバリアントも生成します。
module.exports = {
variants: {
extend: {
// ...
+ placeItems: ['hover', 'focus'],
}
}
}
Disabling
プロジェクトで place-items ユーティリティを使用しない場合は、設定ファイルの corePlugins
セクションで placeItems
プロパティを false
に設定することで、ユーティリティを完全に無効にすることができます。
module.exports = {
corePlugins: {
// ...
+ placeItems: false,
}
}
Discussion