CSSだけで簡単導入!scroll-behavior: smooth;でスムーススクロールを実現する方法
スポンサーリンク

こんにちは!静岡県浜松市でWEBデザイナーをしています小瀧です。
今回は、CSSのたった一行で「ページ内リンクのスクロールがなめらかになる」便利なテクニックをご紹介します。

例えば「ページの一番上へ戻る」「下のセクションへジャンプ」といったリンクをクリックしたとき、スクロールが一瞬で切り替わると、ユーザーにとってはやや不親切な印象を与えてしまいます。

そんなときに活躍するのが、CSSプロパティのscroll-behavior: smooth;です。

このプロパティを使えば、JavaScriptを一切書かずに、ページ内リンクの移動をスムーズにアニメーションさせることができます。

操作は非常にシンプルで、対応ブラウザも多く、初心者でも導入しやすいのが魅力です。

この記事では、scroll-behavior: smooth; の基本的な使い方から、注意点、JavaScriptとの違いまでを、具体例を交えてわかりやすく解説していきます。


scroll-behavior: smooth とは?


scroll-behavior は CSS のプロパティの一つで、ページ内リンクや要素間のスクロール動作を滑らかなアニメーションに変えるための指定です。特に以下のような場面で効果を発揮します。

  • トップへ戻るボタン(ページ上部への移動)
  • ナビゲーションリンクでのセクションジャンプ
  • 固定メニューから特定の要素へ移動

主要ブラウザ(Chrome、Firefox、Safari、Edge)ではすでに対応済みで、特別なライブラリも不要です。

実装方法はとてもシンプル

1行でOK!CSSの基本記述

 html { scroll-behavior: smooth; } 

このように、htmlタグに一行追加するだけで、すべてのアンカーリンクのスクロール挙動がスムーズになります。
body に書くのではなく、html に書くのが正しいポイントです。

スポンサーリンク

実際の動作イメージ

HTMLでは以下のようなリンクを使った場合に効果が発揮されます。

See the Pen
Untitled
by 小瀧賢 (@ekwwawpb-the-styleful)
on CodePen.

このリンクをクリックすると、ページ内の id="section2" までが、スーッと滑らかにスクロールされるようになります。

注意点・対応ブラウザ

  • Internet Explorer では非対応(使用不可)
  • JavaScriptでのスクロール制御と干渉する可能性がある
  • すべてのアンカーリンクが対象になるため、意図しない場所でスムースになることも

特に SPA やスクロール制御が細かく設定されているサイトでは、動作検証を事前に行うことが重要です。

JavaScriptとの併用はどうなる?

JavaScriptでもスムーススクロールは以下のように書くことができます。

element.scrollIntoView({ behavior: "smooth" });

この場合、CSSの scroll-behavior とは異なるスクロール制御が走るため、両者を併用すると挙動が不安定になることがあります。基本的にはどちらか一方を使用するのがおすすめです。

まとめ:まずはCSSだけで導入してみよう!

  • 「scroll-behavior: smooth;」はCSS一行で導入できる軽量なテクニック
  • ユーザー体験をさりげなく向上させる優れた方法
  • JavaScriptが不要なので、保守・拡張性にも優れる

ページ内リンクの動きをスマートにしたい方は、ぜひ一度試してみてください。

 

satokotadesignキャンペーン実施中!

浜松市の飲食店限定|ホームページ無料作成サービス
ぶっちゃけ無料相談会!ホームページ制作の悩み話してみませんか?
satokotadesign4周年記念キャンペーン

静岡県浜松市でホームページ制作ならsatokotadesign
静岡県浜松市でホームページ制作ならsatokotadesign

スポンサーリンク
おすすめの記事