01
セレクタ
基本セレクタ
CSS セレクタはスタイリングのために HTML 要素をターゲットにします。タイプセレクタは要素名(p、div)にマッチします。クラスセレクタ(.)は class 属性にマッチし再利用可能です。ID セレクタ(#)は単一要素にマッチし一意であるべきです。ユニバーサルセレクタ(*)はすべてにマッチします。カンマでグループ化してスタイルを共有します。
css
/* Type selector - all <p> elements */
p { color: #333; }
/* Class selector - elements with class="btn" */
.btn { padding: 8px 16px; }
/* ID selector - element with id="header" */
#header { background: #fff; }
/* Universal selector - all elements */
* { box-sizing: border-box; }
/* Grouping selector */
h1, h2, h3 { font-family: Arial, sans-serif; }コンビネータ
コンビネータは要素間の関係を定義します。子孫(スペース)はネストされた任意の要素にマッチします。子(>)は直接の子のみにマッチします。隣接兄弟(+)は直後の要素にマッチします。一般兄弟(~)は後のすべての兄弟にマッチします。コンビネータの理解は余分なクラスなしの精密なスタイリングに不可欠です。
css
/* Descendant - any <a> inside .nav */
.nav a { text-decoration: none; }
/* Child - direct <li> children of <ul> */
ul > li { list-style: none; }
/* Adjacent sibling - <p> right after <h1> */
h1 + p { font-size: 1.2em; }
/* General sibling - all <p> after <h1> */
h1 ~ p { color: gray; }属性セレクタ
属性セレクタは属性値に基づいて要素にマッチします。[attr] は存在にマッチします。[attr=val] は完全一致にマッチします。^= は接頭辞、$= は接尾辞、*= は部分文字列にマッチします。これらはフォーム入力、タイプ別リンク、data 属性を持つ要素を余分なクラスなしでスタイリングするのに強力です。
css