こんにちは。前回はJQueryを使用してスムーススクロールをご紹介いたしました。以下リンク先です。
今回はCSSのみでスムーススクロールを実装してみました。
早速ご紹介いたします。
HTMLとCSSは前回と同じコードを使用しています。
余談:ふと疑問になってスムーススクロールとスムーズスクロールどっちが正しいのかと疑問に思い調べてみましたが、どちらでも良いみたいですね。
英語でsmooth scroll、スムーズにスクロールするの意、それぞれあるようです。
CSSでHTMLにスムーススクロールを設定
html要素に scroll-behavior: smooth; を指定することでページ内リンクにスムーススクロールの動きをつけることができます。
html{
scroll-behavior: smooth;
}
この設定のみでスムーススクロールが表現できるなんてとても便利ですね!
対応ブラウザ
設定が簡単にできるので、多用してもいいかな。と思いますが、このようにIE・Safariには対応していないようです。
実際に業務で使用する場合は、対応ブラウザに注意して適用させる必要があります。
参考:MDN web docs : CSS: カスケーディングスタイルシート
scroll-behaviorプロパティ
scroll-behaviorプロパティについて、指定した範囲内でスクロールが発生した際の振る舞いを指定できます。
<キーワード>
・auto(初期値) : リンク先に瞬時にスクロールします。
・smooth : 設定したセレクタの範囲内でページ内リンクによるスクロールが発生した場合、スムーススクロールでリンク先に移動します。
今回はCSSのみでスムーススクロールを実装してみました。
対応ブラウザは限定されますが、用途に応じて使ってみてください。