

中嶋悟
名前:中嶋 悟(なかじま さとる) ニックネーム:サトルン 年齢:28歳 性別:男性 職業:会社員(IT系メーカー・マーケティング部門) 通勤場所:東京都千代田区・本社オフィス 通勤時間:片道約45分(電車+徒歩) 居住地:東京都杉並区・阿佐ヶ谷の1LDKマンション 出身地:神奈川県横浜市 身長:175cm 血液型:A型 誕生日:1997年5月12日 趣味:比較記事を書くこと、カメラ散歩、ガジェット収集、カフェ巡り、映画鑑賞(特に洋画)、料理(最近はスパイスカレー作りにハマり中) 性格:分析好き・好奇心旺盛・マイペース・几帳面だけど時々おおざっぱ・物事をとことん調べたくなるタイプ 1日(平日)のタイムスケジュール 6:30 起床。まずはコーヒーを淹れながらニュースとSNSチェック 7:00 朝食(自作のオートミールorトースト)、ブログの下書きや記事ネタ整理 8:00 出勤準備 8:30 電車で通勤(この間にポッドキャストやオーディオブックでインプット) 9:15 出社。午前は資料作成やメール返信 12:00 ランチはオフィス近くの定食屋かカフェ 13:00 午後は会議やマーケティング企画立案、データ分析 18:00 退社 19:00 帰宅途中にスーパー寄って買い物 19:30 夕食&YouTubeやNetflixでリラックスタイム 21:00 ブログ執筆や写真編集、次の記事の構成作成 23:00 読書(比較記事のネタ探しも兼ねる) 23:45 就寝準備 24:00 就寝
はじめに:子セレクタと子孫セレクタの基本をざっくり押さえよう
CSSの世界には、要素をどう選ぶかを決める仕組みがいくつもあります。その中でも「子セレクタ」と「子孫セレクタ」は、要素を特定する基本的な道具です。子セレクタは直系の子要素だけを指定します。記法は「>」を使います。例えば、ul > liと書くと、ul の直下にある li だけが対象になります。
一方、子孫セレクタは親と子の深さを問わず、ある要素の中に含まれるすべての子孫を選択します。記法は通常のスペースです。例えば、ul liと書くと、ul の中の任意の階層にいる li が対象になります。
この違いを理解することは、CSS の挙動を予測しやすくする第一歩です。直系かどうかという条件を意識して使い分けると、意図しない場所にスタイルが広がるのを防げます。現場のコーディングでは、構造が深くなるほど指定を絞る工夫が必要になります。
また、ページを作るときには、後からサイトを保守する人のことを考え、不要なセレクタの肥大化を避けることも大切です。親子関係をきちんと設計しておくと、後の変更にも強くなります。
この章では、直系と非直系の違いを把握するだけでなく、実務での使い分けのコツを身につけることが目標です。
具体的な例と比較表で違いを確認しよう
ここでは実際のHTMLの例を使い、子セレクタと子孫セレクタの挙動を比べます。まず基本の意味をもう一度整理します。子セレクタは「>」でつなぐことで、親要素の直下にある子要素だけを対象にします。例として div > p のように書くと、div の直下にある p のみがスタイルの影響を受けます。
対して子孫セレクタはスペースでつなぎ、親子の階層をまたいで、親の中にいるすべての子孫要素を対象にします。例は div span です。これは div の中の任意の階層にある span 全てに適用されます。
以下の表は、代表的な差をスッキリ整理したものです。
この差を頭の中に置いておくと、CSS を後から整理するときに役立ちます。例えばカード型のデザインで、カードの内部だけの見出しを変えたい場合にはカード直下の見出しを狙う子セレクタを使います。反対に、カードの中のリストを全体的に整えたい場合には子孫セレクタを選ぶと効率的です。
また、HTML 構造が変わっても適用範囲を崩さずに済むよう、過剰なネストを避け、必要な直下だけを指定する癖をつけましょう。実務ではこの「狙いを絞る力」がCSS の読みやすさと保守性を大きく左右します。
使い分けのコツは、まず目的をはっきりさせることです。見出しだけを色を変えたいときは、見出しの直下の要素を狙う子セレクタが適しています。逆に、構造が複雑で同じスタイルをたくさんの要素に適用したいときは子孫セレクタが便利です。さらに、HTML 構造が変わっても崩れにくいよう、CSS ファイルを小さな「ルールの塊」に分け、直系と非直系の使い分けを統一した命名規則で管理すると、後からの変更が楽になります。
先生: 今日は子セレクタと子孫セレクタの話をします。生徒A: 直系の子だけってどういう意味? 生徒B: 例えば家の階層関係を例にすると、親の階段の一段下の椅子だけを狙うのが子セレクタ、階層を越えてその場所にあるすべての椅子を狙うのが子孫セレクタ、みたいな感じだよ。直系かどうかは“今この場所からの道順”を決める鍵で、これを覚えておくと CSS が整理しやすくなるんだ。カードデザインなら直下だけを変える子セレクタ、リスト全体の雰囲気をそろえるなら子孫セレクタを使うと効率的。実務では、構造が変わっても崩れにくいよう、意図を絞ることが大切なんだ。
前の記事: « 体と斜体の違いを徹底解説!読みやすさと使い分けのコツ