質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.34%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Q&A

解決済

3回答

326閲覧

flexboxの余白

paij

総合スコア4

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

1グッド

0クリップ

投稿2024/12/16 17:06

flexboxを使って横並びにすると意図しない余白?が出ますこれは一体何なんでしょうか?

<header> <h1>タイトル</h1> <ul> <li>メニュー</li> <li>メニュー</li> <li>メニュー</li> </ul> </header>

css

header {
display: flex;
justify content:space between;
}

ul {
display: flex;
justify content:center;
gap:20px;

この場合、h1とulとの間の余白は、どういう扱いなんでしょうか?
画面幅を狭めていくと、ここがはじめに縮小されていきます。要素自体はflexshark次第?gapも最後まで残るようです。

raza👍を押しています

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

juner

2024/12/17 04:46

ソースは ``` で囲ってほしいところです。 https://teratail.com/help#about-markdown あと、 css は 正しく書いてほしいところです。 もしかして、 - を スペースに置き換えていませんでしょうか?
paij

2024/12/17 13:58

申し訳ございません。 justify-content :space-between; でした。
raza

2024/12/17 17:01

⚪︎⚪︎は試しましたか? 試した場合は結果を本文に追記ください。解決のヒントを探れるかもしれません。
paij

2024/12/22 01:58

次回からそうさせていただきます。 また、コードが不正確で誤解を招いたことも 注意します。 すみませんでした。
guest

回答3

0

h1とulとの間の余白は、どういう扱いなんでしょうか?

justify-content: space-betweenで確保されるものです。

投稿2024/12/16 23:49

maisumakun

総合スコア146175

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

paij

2024/12/22 01:59

回答ありがとうございます。
guest

0

ベストアンサー

h1 と ul の 余白とはこの黄色の領域の左側のことでしょうか?

イメージ説明

であるならば ul の padding ですね。

イメージ説明

ul 要素自体はリストの 点を打つ為に予め左側に余白が空いていますので。

playground

と思っていましたが、もしかして

問題に書かれているソースコードと、貴殿の環境のソースコードが違う?

css

1... { 2 justify content: space between; 3}

じゃなくて

css

1... { 2 justify-content: space-between; 3}

でしたでしょうか?

であるのであれば

イメージ説明

見ての通り justify-content: space-between の仕様通りの挙動です。

playground

MDN には以下の様にあります。

各アイテムは、配置コンテナーの中で主軸方向に均等に配置されます。隣接するアイテム同士の間隔は同じになります。最初のアイテムは主軸の先頭側に寄せられ、最後のアイテムは主軸の末尾側に寄せられます。

https://developer.mozilla.org/ja/docs/Web/CSS/justify-content#space-between

以上。

投稿2024/12/17 04:43

編集2024/12/17 09:37
juner

総合スコア562

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

paij

2024/12/17 14:03

仕様通りの挙動ですか。 つまりmarginでもpaddingでもgapでもない。 ということですか?
juner

2024/12/18 00:08 編集

ただし、 `justify-content` プロパティで制御する余白の持ち方です。両端に詰めて均等割り付けにするのが `space-between` ですし、両端余白も含めて均等割り付けにするのが `space-around` ですし。主軸方向に詰めるのが `start` ですし、 主軸の末尾方向に詰めるのが `end` ですし。(他にもいろいろありますが) どういう空間の持ち方をしたいかで選択するべきところだと思います。
paij

2024/12/22 02:00

ありがとうございました。 誤解を招くコード間違いすいませんでした。
guest

0

h1とulとの間の余白

単純にulのpaddingでは?
ただしpaddingを0にするとlist-styleが食い込むのであわせて設定をした方がいいでしょう

html

1<style> 2header { 3display: flex; 4justify content:space between; 5} 6ul { 7display: flex; 8justify content:center; 9gap:20px; 10padding:0; 11list-style:none; 12background-Color:lightgray; 13} 14h1{ 15 background-Color:gray; 16} 17li{ 18 background-Color:yellow; 19} 20</style> 21<header> 22<h1>タイトル</h1> 23<ul> 24<li>メニュー</li> 25<li>メニュー</li> 26<li>メニュー</li> 27</ul> 28</header>

投稿2024/12/17 02:22

yambejp

総合スコア116921

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

juner

2024/12/17 04:48

もしかして:ソース誤りで justify content → justify-content / space between → space-between だったりします?
yambejp

2024/12/17 05:06

TO:juner 「 justify content 」完全に無視してました。失礼しました。 確かに正しく書いたときのh1とulの間のスペースはそれですね
paij

2024/12/22 02:01

失礼致します。 私の不正確なコードで混乱を招きました。 すみません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.34%

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

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

質問する

関連した質問