概要
このデモはCSSの疑似クラス:target-before、:target-after、
:target-currentを使用した
ヘッダーの実装例です。ページをスクロールしてヘッダーのスタイルが変化するのを確認してみてください。
scroll-target-groupプロパティをナビゲーションのリストに設定すると
:target-current、:target-before、:target-after
疑似クラスが使えるようになります。
:target-afterとは
:target-after疑似クラスは、現在のアクティブな要素(
:target-current)よりも
後ろにある要素に対する疑似クラスです。つまり、ユーザーがまだ閲覧していないセクションに対応するリンクをスタイリングできます。
このデモでは、未読のセクションを明るい紫色と下線で表示しています。
:target-beforeとは
:target-before疑似クラスは、現在のアクティブな要素(
:target-current)よりも前にある要素に対する疑似クラスです。
これにより、ユーザーがすでに通過したセクションを視覚的に区別できます。
このデモでは、通過ずみのセクションをグレー色で表示しています。
CSSのみで動く
今まではスクロール追従ナビゲーションを実装するには、JavaScriptを組み合わせて実装する必要がありました。
CSSの:target-before、:target-after
を使用することで、これらの処理がすべてブラウザ側で行われます。