position:fixed;を使用したスティッキーヘッダーを設置したとき、ヘッダー部分と内部リンクのジャンプ先の要素が重なってしまうことがあります。WordPressの管理画面にログインした状態でプレビューすると、ページに設置した固定ヘッダーと、管理画面が吐き出すアドミンバーが重なってしまう現象にでくわした方も多いのではないでしょうか。

今日はそんな、固定ヘッダー(スティッキー)とページ内リンクの要素が重ならないようにする方法を紹介いたします。

見出しの要素に、固定ヘッダーの高さの分だけ、padding-topを設定し、それを打ち消すように、margin-topを設定します。
具体的には

h1.local {
  padding-top:60px;
  margin-top:-60px;
}

のように書きます。60pxというのは固定ヘッダーの高さだと思ってください。
単純にpadding-top:60px;を設定するだけでも重ならないようにできるのですが、それだと余計なパディングが発生するため、それを打ち消すように、ネガティブマージンを設定するという発想です。

ページ内リンクはJavaScriptを使ってアニメーションさせるという人もいらっしゃると思います。JSでやる場合はJSのコードでスクロール量を調整できますが、その方法ですと、違うページから遷移されたページ内リンクの位置ずれは解消できません。

トリッキーな方法ですが、このようにCSSで解決させるのが一番シンプルではないかと思います。お試しください。



「いいね!」と思ったら、クリックお願いいたします<m(__)m>
にほんブログ村 資格ブログ IT系資格へ IT資格ランキング
にほんブログ村 IT技術ブログ Webサイト構築へ ウェブデザインランキング
にほんブログ村 介護ブログ 障がい者福祉・介護へ 障がい者ランキング
ABOUT ME
立花浩紀
福祉ITラボは障害福祉とWeb制作を専門とする立花浩紀の情報発信サイトです。Web制作事務所の経営に傍ら、障害福祉に関するお役立ち情報を提供しています。障害者雇用・障害年金・就労支援・資格取得・スキルアップ・フリーランス・Web制作・IT活用技術など、様々な分野で情報を発信しています。