[CSS] scroll-behavior: smooth; が有効にならない時の対処法
1 min read
背景
CSS のscroll-behavior: smooth
を使用するだけで簡易的なスムーズスクロールをJavaScriptを利用せずに実現できる。しかし、このscroll-behavior
を利用したスムーズスクロールが有効にならないケースがあった。
Chrome | Edge | Safari | Firefox | Opera |
---|---|---|---|---|
61 - | 79 - | 15.4 - | 36 - | 48 - |
scroll-behavior: smooth
とは
CSS でスムーズスクロールを有効化するために、scroll-behavior
プロパティを使用する。以下のように指定できる。
body {
scroll-behavior: smooth;
}
以下のようにアンカーリンクを使うだけで、スムーズなスクロールが実現できる。
<a href="#scroll-position">scroll-position</a>
---
<h2 id="scroll-position">scroll-position</h2>
スムーズスクロールが動作しない場合
スムーズスクロールが動作しない場合、以下のような理由が考えられる。
CSS を確認する
body
に以下のような指定のいずれかがされている場合、スムーズスクロールが動作しない。
overflow: hidden;
overflow-x: hidden;
overflow-y: hidden;