自分のためのメモ

今更スムーズスクロール

今は当たり前になっているページ内リンクでヌルヌル動くやつ。
WPで実装するときにはお手軽感と惰性から「Easy Smooth Scroll」プラグインを使っていた。

ただいつの間にかプラグインのサポートが終わっていたので、これを機に他の実装方法を検討していたところCSSに1行コピペするだけで実装可能との記事が。。(自分のアンテナの低さにガッカリ)

html {
  scroll-behavior: smooth;
}

たったこれだけ。
ただ上記記述だと、全体に一律に効いてしまう。
他とケンカするようなら、個別要素(遷移先のコンテナーなど)に当てるなど工夫も必要(←効かない)。

  • スピードなど細かい調整は不可
  • 移動後にURL末尾には#idがつく

といったご愛敬?もあるので、気になる方はJavaScriptのスムーススクロールのほうが無難。
あくまで部分的であったり、簡易なサイト、LPなどで利用する分には十分。

参考:
https://developer.mozilla.org/ja/docs/Web/CSS/scroll-behavior

【2023/12/02_追記】
ヘッダー固定などでスクロール先がずれる場合は
「遷移先の要素」に

.point {
	scroll-margin-top: 100px;
}

と指定してやることで解決することもできる。