CSSの基本構造

HTML(あるいはXML)によって構造化された文書は、 要素(element)の入れ子構造となっています。 CSSではそのそれぞれの要素に対して、それが表示される際の書式を指定します。

特徴

基本構造

セレクタ {
属性: 値;
属性: 値;
...
}

セレクタでこのスタイルを適用する対象を指定します。 対象となるのは要素やクラス、idなどです。 セレクタは「,」で区切って複数の対象を一度に指定することができます。 属性の値が複数の場合には「 」(半角スペース)で区切ります。 なお、セレクタで「 」(半角スペース)で区切って複数指定すると、 それは文脈(context)の指定と解釈されます。

なお、CSS2の仕様では属性による選択もできますが、 このテキスト執筆時点ではIEには実装されていません。

例1: h1とh2を中央揃えにして緑にする

h1, h2 {
text-align: center;
color: green;
}

使用例

<h2>緑の見出し</h2>

緑の見出し

例2: h2の中のemは赤にする (文脈の指定)

h2 em {
color: red;
}

使用例

<h2>例: <em>ここがem</em></h2>

例: ここがem

イタリックになっているのはem要素の初期値がそうだからです。

例3: divのexampleクラスだけ青にする

div.example {
color: blue;
}

なお、要素divを書かずに「.example」とすれば、 すべての要素に指定可能なクラスとなります。

使用例

<div class="example">
てすと
</div>
てすと

クラスを定義しておくと、 HTMLの要素でそのクラスのスタイルを適用させたい複数の要素を 同一のクラスに指定することができます。 一方、要素のidを指定してスタイルを定義することもできますが、 idは要素固有のものですので、 特定の要素のスタイルをピンポイントに定義することになります。 idを使った定義では「.」の代わりに「#」を使います。 要素での属性名は「class」ではなく「id」です。

属性の継承

属性には親要素の属性が継承されるものとそうでないものがあります。 例えば背景色は初期値として親要素の背景色が適用されますが、 余白(margin)はそれぞれの要素が固有に持つべき値なので親要素の marginの値は継承されません。