基礎編

ページ内リンク

ページ内リンク
WEB制作技術の引き出しを増やすため、自分なりにアレンジしたコードをアウトプットすることにしました。

その中でも特に勉強になったコードを紹介します。

コピペで使えるようになっているので、あなたのサイトで使っていただけるとうれしいです。

あくまでデザインの一例にすぎないので、調整してオリジナルのデザインを作ってみてください!

ページ内リンク

ページ内リンク(アンカーリンク)は、同じページの目的の場所へスクロールで案内する仕組みです。目次から見出しへ、CTAから料金表へ――縦に長いページが当たり前になった今、読者を迷子にしないための基本部品と言えます。

このデモの肝は「追従ヘッダー分の高さを引いて止める」処理です。固定ヘッダーのあるサイトでは、素朴なアンカーリンクだと見出しがヘッダーの下に隠れてしまう――誰もが一度はハマる、定番のつまずきどころを正面から扱っています。

おさえておきたいところ

「ページ内リンク」を使う目的はこんな感じです。

             目的:ページ内の目的の場所にスクロールさせる
動きのきっかけ:クリック / スクロール

追従するHeader分の高さを引いて適切な場所へスクロール

ページ内の指定の場所にスクロール

実務メモ(2026年追記)

当時はJavaScriptでヘッダー高を差し引いていましたが、いまはCSSだけで解決できます。scroll-margin-topを見出しに指定すればズレは解消し、scroll-behavior: smoothでスムーススクロールも標準機能になりました。「JSでの制御」はイージングを細かく調整したい場合の選択肢として残る、という位置づけです。

  • まずscroll-margin-topscroll-behaviorのCSS解で足りるかを検討する
  • prefers-reduced-motionではスムーススクロールを無効化する配慮を
  • アンカー先のIDは日本語でも動くが、英数字にしておくと共有URLが崩れにくい
  • ページ先頭へ戻る側の設計はページトップリンクで扱っています

次回の予定

ページのスクロールを促す「スクロールダウン」を作ってみようと思います\\٩( ‘ω’ )و ////

コメントを残す

メールアドレスは公開されません。* は必須項目です。

CAPTCHA