Houn

Web制作

公開日:2019.08.10

更新日:2022.06.18

ヘッダーをposition:fixedで固定時、直下の要素が重なって隠れる原因と解決法

position:fixedで固定ヘッダーnavを作ったら、直下の要素が隠れちゃったとき

ヘッダーをスクロールしてもずーっと上部に固定して表示させるときは、position: fixedを使うのが一般的ですね。

固定ヘッダー前

header { position: fixed; top: 0; left: 0; }

その際、下図のようにメインコンテンツがヘッダーの下に重なって隠れてしまうときの原因と解決法です。

ヘッダーに直下コンテンツが隠れた

ヘッダーが”浮く”のが原因

まず原因を図解します。

もともと、下図の状態だったのが

fixedする前

fixedさせるとこうなります。

固定ヘッダー後

headerが宙に浮いており、その下にmain部分が潜り込んでしまっています。

position: fixed;って、浮くんですね。floatと一緒です。

ヘッダーの高さ分だけの余白を取る

それが分かれば対処法は簡単です。header直下の要素に、headerの高さ分だけの余白を取ってあげれば解決です。

paddingでも、高さ分のdivタグを差し込んでも良いでしょう。

余白を差し込んだ

bodyタグに当ててもOK

ちなみにこういった上部固定ヘッダーナビは、特殊な作りじゃなければサイト内すべてのページに適用されますよね。

であれば、そもそものbody要素にpadding当ててあげても良いかと思います。

サイト保守契約の便利ツール

この記事を読んでくださったWeb制作会社・フリーランスのあなたへ‥

Webサイトの保守業務委託においては、毎月定額の決済をお願いするのが一般的だと思います。

決済方法として便利なのがクレジットカード自動引き落とし。一度顧客に手続きいただければ毎月自動で決済してくれるので、制作会社側も顧客側も何の手間もかかりません。

当事務所で導入しているのがSquare(スクエア)

導入は無料で、コストはクレジット決済手数料(3%台)のみ。

毎月請求書を送る、未払いがないかチェックする‥などの手間が省けるなら安いものです。

制作会社、顧客ともに手続き操作もカンタンですし、こちらの記事で解説もしていますので、ご参考ください。

保守費決済のほか、ちょっとした小額の決済も決済リンクを送ってすぐ完了。

非常にラクでオススメです。まずはアカウント登録して、一度使い心地を試してみてください。

無料でSquareに登録してみる