【Labs】CSSだけでスムーズスクロール - web design lab
にほんブログ村 デザインブログ Webデザインへ PVアクセスランキング にほんブログ村

【Labs】CSSだけでスムーズスクロール


【Labs】CSSだけでスムーズスクロール

こんにちは(・∀・)

前回のアコーディオンと同じく、今まではスムーズスクロールをするのにJavaScriptやjQueryを使って実装してきましたが、それらを使わなくともスムーズスクロールは実現することができます。

CSSだけでスムーズスクロール

CSSだけでできることが増えて来ました。今までだったらJavaScriptでの制御が必要だったことがCSSだけでできるようになると構造的にも軽くなります。

sample

それではサンプルをご覧ください。

demo

使用するCSSは1行のみ。ただし、JavaScriptを使わないのでアンカーリンクがURLに反映してしまいます。

CSS

html{
  scroll-behavior: smooth;
}

HTMLは今までと代わりはありません。

HTML

<div id="top">
(top) <a href="#mid">go to mid</a> <a href="#btm">go to btm</a>
</div>
<div id="mid">
(mid) <a href="#btm">go to btm</a> <a href="#top">go to top</a>
</div>
<div id="btm">
(btm) <a href="#top">go to top</a> <a href="#mid">go to mid</a>
</div>

よろしければぜひお試しください。

ただし、IEはともかく、Safariで非対応なのが残念です。

関連リンク

【Labs】jQueryでスムーズスクロール
【Labs】JavaScriptでスムーズスクロール

参考

【第3弾】少しのコードで実装可能な15のCSS小技集


にほんブログ村 デザインブログ Webデザインへ PVアクセスランキング にほんブログ村