質問
position: fixed
でヘッダーを固定すると、ヘッダーが通常のフローから切り離されるので、ヘッダーに続くメインコンテンツ部分がbody
要素を基準に配置されると思います。
このままだと、ヘッダー部分にメインコンテンツ部分が重なってしまうため、ヘッダーの高さ分、メインコンテンツの
Y方向の位置を調整してあげる必要があると理解しています。
そこでなのですが、どのようにメインコンテンツのY方向の位置を調整するのが好ましいのか、考え方など教えて頂けませんでしょうか?
対策案は4つあると思って試してみました。margin-top
で調整する案はヘッダーのY方向の位置も移動してしまうので選択肢からは外れました。
残り3つは同じ結果を得られているのですが、どの方向が好ましいとかあったら教えていただきたいです。
それぞれ、メリデリやこういうケースの場合はこちらが好ましいなどの使い分けはありますか?
画像
HTML(サンプルコード)
<div class="outer"> <header> <h1>Fixed Header</h1> </header> <div class="inner"> <main> <article> <h2>Hello World</h2> <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Provident possimus asperiores, earum atque, vel consequatur aut voluptates soluta ullam dolorem eos. Nam sed, veniam nisi odio doloremque unde provident vitae!</p> <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Provident possimus asperiores, earum atque, vel consequatur aut voluptates soluta ullam dolorem eos. Nam sed, veniam nisi odio doloremque unde provident vitae!</p> <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Provident possimus asperiores, earum atque, vel consequatur aut voluptates soluta ullam dolorem eos. Nam sed, veniam nisi odio doloremque unde provident vitae!</p> </article> </main> <footer> <h2>Footer</h2> </footer> </div> </div>
CSS (サンプルコード)
* { box-sizing: border-box; } body, h1, h2 { margin: 0; } .outer { width: 600px; margin: auto; } header { background-color: gray; position: fixed; height: 5rem; padding: 1rem; z-index: 100; width: 600px; } .inner { --header-vertical-space: 6rem; /* (1)padding-topで調整する場合 */ /* padding-top: var(--header-vertical-space); */ /* (2)position topで調整する場合 */ /* position: relative; top: var(--header-vertical-space); */ /* (3)translateYで調整する場合 */ /* transform: translateY(var(--header-vertical-space)); */ /* (4) margin-topで調整する場合 */ /* これだと、ヘッダーのY方向の位置も移動してしまうので、この選択肢は駄目なようだった */ /* margin-top: var(--header-vertical-space); */ } footer { background-color: gray; padding: 1rem; }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/23 09:07
2021/03/23 09:43
2021/03/23 09:49