質問するログイン新規登録

Q&A

解決済

1回答

129閲覧

左右の隙間を均等にして左から順番に要素を並べたい

vj2a6wk5

総合スコア21

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

tailwindcss

tailwindcssとは、Webサイト・Webアプリケーションを作成するためのCSSフレームワークの一つ。ユーティリティファーストな点が特徴です。汎用的なクラスが多数用意されており、独自のデザインを自由に組み立てることができます。

0グッド

0クリップ

投稿2026/02/20 06:02

編集2026/02/20 06:09

0

0

実現したいこと

以下画像のように左右の余白を均等にして、左から順番に並ぶようにしたいです。

前提

青枠はウィンドウ幅を意味します。
赤枠は並べたい要素を意味します。

利用者のウィンドウ幅によって例1のように右に隙間が大きい状態になる事があります。

該当のソースコード

https://stackblitz.com/edit/stackblitz-starters-utp53hgw?file=app%2Fpage.tsx

試したこと

例2のように justify-between を利用して隙間を均等に分割しましたが、3段目の隙間も均等になった結果、1,2 段目とズレてしまっています。
)

補足情報(FW/ツールのバージョンなど)

  • tailwindcss 4.2.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

yambejp

2026/02/20 06:41

横4列は固定なのでしょうか?幅を広げたときに5個、6個と増やしたいのでしょうか? 逆に中のコンテンツは幅を指定できるのでしょうか?
vj2a6wk5

2026/02/20 06:48 編集

> 横4列は固定なのでしょうか?幅を広げたときに5個、6個と増やしたいのでしょうか? はい、ウィドウ幅が広がると横に並ぶ要素数が増えて、ウィンドウ幅が狭くなると横に並ぶ要素数が減るようにしたいです。 > 逆に中のコンテンツは幅を指定できるのでしょうか? はい。中のコンテンツは w-1 などを指定して固定できます。 ウィンドウ幅が次第では要素幅も長くなり見づらいので最大幅などは max-w-1 などを必ず指定する予定です。
yambejp

2026/02/20 06:55

調整しました。確認してみてください
guest

回答1

0

ベストアンサー

flexというよりgridですかね

参考

html

1<style> 2.wrap{ 3justify-content: center; 4display:grid; 5padding:10px; 6gap:10px; 7border:solid 1px blue; 8grid-template-areas: 9"a a a a"; 10} 11.wrap div{ 12width:200px; 13border:solid 1px red; 14} 15</style> 16<div class="wrap"> 17<div>1</div> 18<div>2</div> 19<div>3</div> 20<div>4</div> 21<div>5</div> 22<div>6</div> 23<div>7</div> 24<div>8</div> 25<div>9</div> 26<div>10</div> 27<div>11</div> 28</div>

調整

画像幅固定でブラウザの幅で列数を可変に

html

1<style> 2.wrap{ 3justify-content: center; 4display:grid; 5padding:20px; 6gap:20px; 7border:solid 1px blue; 8grid-template-columns:repeat(auto-fit, minmax(200px,0px)); 9} 10.wrap div{ 11width:200px; 12border:solid 1px red; 13} 14</style> 15<div class="wrap"> 16<div>1</div> 17<div>2</div> 18<div>3</div> 19<div>4</div> 20<div>5</div> 21<div>6</div> 22<div>7</div> 23<div>8</div> 24<div>9</div> 25<div>10</div> 26<div>11</div> 27</div>

投稿2026/02/20 06:39

編集2026/02/20 06:59
yambejp

総合スコア118347

vj2a6wk5

2026/02/20 07:25 編集

Bootstrap時代の浅い理解のままでgridは12個の要素が横に並ぶものと思い込んでしまっていました。 「grid」と「grid-template-columns:repeat(auto-fit, minmax(200px,0px));」がキモですね! tailwindでも実現できました。 https://play.tailwindcss.com/jLbWNNZNeB ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問