MARKLEAPS[マークリープス]

TECH BLOG

マークリープス技術ブログ

open

cssのみでスムーススクロール実装

CSSのscroll-behaviorプロパティを使えば、JavaScript(jQuery)を使わずに、cssだけでスムーススクロールを実装できます。

scroll-behaviorプロパティの使い方

 

scroll-behavior: smooth;
をhtml要素に1行追加するだけでスムーススクロールを実現出来ます。

ヘッダー固定時の位置調整

position: fixed; などでヘッダーを固定していると、ヘッダーと移動先の要素が被ってしまいます。

以下のように指定するとスクロール位置をずらすことができます。

 

さらに、ヘッダーの高さをcss変数で定義しておくことで、ヘッダーの高さを変える場合でも、css変数の値を変えるだけで、headerとscroll-padding-topの値を同時に変更できます。

scroll-behavior プロパティの注意点

・移動速度の調整ができない
scroll-behavior プロパティは移動速度の調整ができません。
移動速度を調整したい場合はJavaScriptを使う必要があります。

 

・URLにアンカーリンク(#section01など)がつく
アンカーリンク先の見出しに id=”section01″ を付けた場合は、URLが exsample.com/index.html#section01 となります。
JavaScriptでURLを取得して状態変化を付けたい場合などは影響が出てしまう可能性があります。

よく読まれている関連記事

関連最新記事