Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ふかぼれ! CSS セレクターモジュール 福岡フロントエンド勉強会 #2 pixiv Inc. 森内建太 petamoriken 2024.11.8
Slide 2
Slide 2 text
2 自己紹介 ● Web エンジニア ● Deno コントリビューター ● ECMAScript や Web 標準 を追うのが好き petamoriken カスタマーオペレーション &セーフティ本部 オペレーション開発部
Slide 3
Slide 3 text
3
Slide 4
Slide 4 text
4 © ンバヂ https://x.com/nbaji9 https://www.nicovideo.jp/watch/sm42515407
Slide 5
Slide 5 text
JavaScript 好きですが 今日は CSS の話をします 5
Slide 6
Slide 6 text
6 CSS で(HTML の)要素選択に使われるパターンのこと 以下の例だと ul や ul > li がそれにあたる CSS セレクター
Slide 7
Slide 7 text
7 ※ 以降見やすくするために DOM ツリーを AA で表します
Slide 8
Slide 8 text
8 単純セレクター(Simple Selector) 特定要素にマッチ
Slide 9
Slide 9 text
9 全称セレクター(Universal Selector) 全ての要素にマッチ
Slide 10
Slide 10 text
10 セレクターリスト 複数のセレクターをまとめて 記述できる
Slide 11
Slide 11 text
結合子などを使った複雑セレクター 11
Slide 12
Slide 12 text
12 子孫結合子(Descendant Combinator) 前のセレクターの子孫要素に マッチ
Slide 13
Slide 13 text
13 子結合子(Child Combinator) 前のセレクターの子要素に マッチ
Slide 14
Slide 14 text
14 (余談)@scope ● 子孫結合子、子結合子だと子孫要素の途中で打ち切る ことが出来ない ● @scope で途中の子孫要素までで打ち切ることができる
Slide 15
Slide 15 text
15 後続兄弟結合子(Subsequent-sibling Combinator) 前のセレクターの後ろの兄弟 要素にマッチ
Slide 16
Slide 16 text
16 次兄弟結合子(Next-sibling Combinator) 前のセレクターの直後の兄弟 要素にマッチ
Slide 17
Slide 17 text
17 :not() セレクターに該当しない要素に マッチ 引数を複数取れる :not(P, Q) と :not(P):not(Q) は等価
Slide 18
Slide 18 text
18 :is() と :where() セレクターリストを一つに まとめられる A B, D B とだいたい等価 不正なセレクターが混ざっても 無視される違いがある :is() と :where() は詳細度が違う
Slide 19
Slide 19 text
19 :nth-child() と :nth-last-child() 兄弟要素の位置でマッチ 2n + 1 は odd(奇数) 2n は even(偶数) とも書ける
Slide 20
Slide 20 text
20 :nth-child() と :nth-last-child() of で兄弟要素から該当する要素 における位置でマッチさせる事 ができる
Slide 21
Slide 21 text
21 :has() (相対)セレクターでマッチ 子孫から親要素であったり、前 の兄弟要素であったりと逆向き に辿ることができる
Slide 22
Slide 22 text
22 :empty 子に要素やテキストを持たない 要素にマッチ 子がホワイトスペーステキスト のみでもマッチするが、まだど のブラウザも対応してない
Slide 23
Slide 23 text
23 ● CSS セレクターモジュールには結構多くの機能がある ○ 今日紹介出来なかったのもある ● 子孫結合子、子結合子を覚えておけばなんとかなる ○ 他の機能を使うと記述が楽になることがあるので 余力があれば知っておけば良さそう 所感