トップページ > ブログ > 【JSなしで簡単実装】CSSだけでスムーススクロールをしよう!

BLOG

ブログ

UPDATE:2023.7.6

CATEGORY

【JSなしで簡単実装】CSSだけでスムーススクロールをしよう!

こんにちは、かずです。

なんでもかんでもCSSで実装したがりコーダーです(?)
でも本当に近年CSSで出来ることが増えすぎて、思いついたらすぐCSSで出来ないか調べる癖がついてしまいました。

ということで最近やっとこ使うようになったCSSのご紹介。


scroll-behavior

こちらなんと、アンカーリンクでよく使うスムーススクロールをJavaScript等を使わずとも実装できてしまうんです!
使い方も簡単、こうしてこうです。

body {
  scroll-behavior: smooth;
}
body要素に一行記述するだけでもう完成です!
ただこのままだとちょっとあれなのでもうひと手間。

scroll-padding-top

こちらは、ページ内リンクで移動した際に、通常は移動先にぴったりくっついてしまいますが、このプロパティでスクロール位置を上方向に調整出来ます!
実際の余白でなくスクロールに対する余白というのがポイント!
言葉で表現するの難しいですねこれ・・・

という訳で scroll-padding-top も含めた記述がこちら。
こうしてこうしてこうです。

:root{
  --header-height: 100px;
  @media screen and (max-width: 767px){
    --header-height: 60px;
  }
}
body {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height);
}
カスタムプロパティでヘッダーの高さ分の数値を入れてあげて、その分だけスクロール先の上部に余白をつけてスムーススクロール!

もちろんモダンブラウザにも対応しているので自由に使いたい放題です!

カスタムプロパティ
scroll-behavior
scroll-padding-top
デメリットとしては、
・ヘッダーの高さがリアルタイムで取得出来ない
・スクロールスピードが指定出来ない
・urlにハッシュタグが付く(好みにもよりますが・・・)

といったくらいでしょうか。
JavaScript等と違ってカスタマイズが出来ないので、動きや速さなどをいじりたい場合は従来の方法でやりましょう!


それでは。

Happiness in Design

シアワセをデザインする会社

営業ゼロで年間600件以上
お問い合わせをいただいている
ノウハウを惜しみなく。

アプリコットデザインには創業当初から営業マンはいません。
創業当初からWEBを活用することに重点を置いて、これまで試行錯誤してきました。その結果、年間600件以上の問い合わせををこのホームページから得ています。ホームページという集客ツールを提供している私たち自身が、自社のホームページで集客できないのでは、お客様に自信を持ってオススメすることはできません。自社の実験から「WEBを活用して集客するためのノウハウを蓄積」した上で、誰よりもホームページの素晴らしさを知り、自信をもってお客様にご提供していきたいと考えます。

VIEW MORE

CONTACT

お問い合わせ・ご相談は
お気軽にどうぞ。

tel.0120-622835

営業時間/10:00〜18:00 
定休日/土日祝日

プロジェクト

それぞれの
らしさ溢れる日常を。

カフェ、トリミングサロン、ネイルサロン、スクール「tone village(トーンビレッジ)」

カフェ、トリミングサロン、ネイルサロン、スクール「tone village(トーンビレッジ)」

カフェ/ドッグサロン/
ネイルサロン/スクール

tone village

We're open.

採用情報

recruit info

豊かで彩りのある社会をつくる!

私たちは仕事を通して、一人でも多くの人が未来に対する希望を描けるような、そんなワクワクする社会をつくっていきたいと思っています。

VIEW MORE