l

o

a

d

i

n

g

.

.

.

[CSS] scroll-target-groupを深く知る

2026/03/25

CSS

t f B! P L
eyecatch あなたは、「順番が逆やん!」と思うだろう。 先日、scrollイベントを、CSSだけで、連携UIが作れるブログを紹介してから、 GoogleChromeでしか使えないので、自作のPolyfillライブラリを作ってから、 しばらくブログを書き終えて考えた時に。 あれ?CSSのscroll-target-groupについて、なんも深掘りしてないやん! と言う事に気がついてしまいました。 確かに、これまでのブログを読んでくれた人は、なんとなく便利だけど、 一体どうやって使うの??? と、頭の中が謎解き状態になったに違いありません。 と言うことで、今回はCSSを簡単セットできるようになるための深掘りです。 どう、今更感ハンパないでしょ? これ知ってから、前回までのブログを読んでもらった方がいいかも・・・

基本構造

多くの場合、以下のような構成になります UL.menu > LI.item > A.link HTMLで書くと、以下のような感じです。 <aside> <ul class="menu"> <li> <a href="#top">Top</a> </li> <li> <a href="#content_1">Content-1</a> </li> <li> <a href="#content_2">Content-2</a> </li> </ul> </aside> <main> <section id="top"> ページ上部 </section> <section id="content_1"> 記事1 </section> <section id="content_2"> 記事2 </section> </main>

[プロパティ] scroll-target-group

MDN : https://developer.mozilla.org/ja/docs/Web/CSS/Reference/Properties/scroll-target-group このプロパティは、「スクロールマーカーグループコンテナー」の定義設定です。 値は以下の2つです。
- none - auto
noneを使うぐらいなら書かなくてもいいので、実質的に、autoしか使わないと言う事です。 スクロール連動して、UI連動させる擬似クラスをセットする親(上位)の要素にセットします。 基本構造のUL(またはaside)の部分にこのプロパティをセットすることになります。

[擬似クラス] :target-current

MDN : https://developer.mozilla.org/ja/docs/Web/CSS/Reference/Selectors/:target-current Aタグのページ内ハッシュリンク(#...と書くヤツ)で、スクロール位置に該当するエレメントを指定した状態の要素にこの擬似クラスをセットすると、 そのエレメントが、スクロールで画面に入った状態の時(厳密には、スクロールグループ内で基準ライン(画面中心位置)に一番近い時に適応できます。

[擬似クラス] :target-before, :target-after

MDN : https://developer.mozilla.org/ja/docs/Web/CSS/Reference/Selectors/:target-before MDN : https://developer.mozilla.org/ja/docs/Web/CSS/Reference/Selectors/:target-after CSSでお決まりの、BeforeとAfterですが、上記のtarget-currentの前後要素と言う形で個別にセットすることができます。 特に前後が関係ない場合は、:target-beforeと:target-afterを同時にセットしておくといいでしょう。

あとがき

いや〜、CSSがどんどん進化していきますね。 JSが不要になっていくのは、便利なのか、寂しいのか、個人的によくわからない感情が湧いてきますが、とにかく便利は良いことだと思います。 そして、こうした技術を知らずに、JSライブラリで無駄を増幅させていると考えたら、Webページは、より軽量になった方がいいし、ソースコードはより短くエラーが起きにくい状態になるのがいいに決まっています。 自分の周囲のフロントコーダーの人たちは、今回紹介したこれらの機能を全く知らなかったので、実務でしかスキルアップができていない人は、是非自分でこうした新機能のサンプルコードを作って独自のスキルの足しにするのがいいかと思いました。 と言うことで、そのうち、No-JavascriptなWebサイトなどが登場するかもしれませんね。(簡易なWebページであれば今でもできますね。)

人気の投稿

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。

ブログ アーカイブ