STERFIELD
開発ナレッジ2015.03.05

「:target」疑似クラスを考慮したスムーススクロール

ページ内でアンカーリンクさせる場合、

何も設定しないと急激に動いてしまい、動きとしてあまり見栄えが良くないため、

jQueryなどJavaScriptを使ったスムーススクロールを導入することが多いです。

 

ただ、この場合、急激な動作を避けるために、<a>のクリックイベントに対して”return false;”をかけて、

実際にはリンクさせないようにするのですが、

CSS3ではアンカーリンクさせた要素に対してスタイルを設定することができる、

「:target」という疑似クラスがあり、

通常のスムーススクロールではこの「:target」を活かすことができません。

 

そこで、CSS3の「:target」疑似クラスに対応させられるスムーススクロールを考えてみました。

 

↓作ってみたもの

 DEMO

 

方法

方法は簡単で、

通常のスムーススクロールのアニメーション部分のコールバック関数で、

本来のリンクを強制的に行わせます。

 

「:target」を使うときには是非どうぞ。

WRITER

ninomiya

Webデザイナー兼コーダー出身のフロントエンド開発者です。 UXデザインやチーム開発の効率化など、勉強中です。

この著者の記事を見る

CONTACT

記事の内容について
相談したい方へ

実際の進め方は、状況を伺ってからご提案します。

2営業日以内にご返信します
資料ダウンロード無料相談に申し込む