別ページからのページ内リンクやスクロールを行ったときの位置調整css「scroll-margin-top」

Filed under: css — kdcs @ 25年11月6日 木曜日

#hogeなど要素にidを付けて、その位置までスクロールさせたり別ページからリンクで移動させたりする場合、ページ上部に固定ヘッダーメニューなどがあると重なってしまい#hoge位置が隠れてしまう。

cssの「scroll-margin-top」を使うと#hogeの上にマージンが取れるので、ヘッダーメニュー分以上の縦幅をしていすれば重ならずに済む。
※古いブラウザ向けに代替の記述も併せて指定する

#hoge {
    scroll-margin-top: 50px;
    position: relative;
}
/* フォールバック用(古いブラウザ向け) */
#hoge::before {
  content: "";
  display: block;
  height: 50px;       /* ヘッダーの高さ分 */
  margin-top: -50px;  /* 上にずらす */
  visibility: hidden;
}

サイト内検索

カテゴリー

最近の投稿

« |別ページからのページ内リンクやスクロールを行ったときの位置調整css「scroll-margin-top」| »
↑上に戻る