広告スペース(バナー)
🎨HTML & CSS レッスン
HTMLの基礎7
CSSレイアウトの基本6
インタラクションとアクセシビリティ5
CSSの表現力を高める6
テーブルと詳細度・図形5
モダンCSSレイアウト6
画像とビジュアル表現の応用6
最新CSS機能と仕上げ8
レッスン 42 / 50

scroll-behaviorでなめらかにスクロールしよう

このレッスンでは、scroll-behaviorを使ったなめらかなスクロールの実装方法を学び、ページ内リンクの操作感を改善できるようになることを目標にします。「CSS scroll-behavior 使い方」で調べている方向けです。

scroll-behavior: smoothを指定すると、ページ内リンク(#見出しなど)をクリックしたときに、瞬間移動ではなく、なめらかにスクロールして移動するようになります。

サンプルコードでは、html { scroll-behavior: smooth; }と指定し、「2番目のセクションへ移動」というリンクをクリックすると、対応するid="section2"の位置までなめらかにスクロールする様子を確認できます。この1行をhtml要素に追加するだけで、サイト内のすべてのページ内リンクに効果が適用されます。

初心者がよくつまずくのが、JavaScriptを使わなくてもこの効果が実現できるという点に気づきにくいことです。以前はJavaScriptでスクロールをアニメーションさせるのが一般的でしたが、今ではCSS1行で同じ効果を実現できます。

1行のCSSを追加するだけで、目次リンクをクリックしたときの操作感が大きく向上します。長い記事ページや1ページ完結型のランディングページで、よく使われる仕上げのテクニックです。

HTML & CSS
OUTPUT / 実行結果

💡 プレビューはこのページ内だけで動作し、外部には送信されません。

🎯
ここまでできればゴール達成!
ページ内リンクをクリックした時に、なめらかにスクロールする演出が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)