CSSことはじめ
今まで学習してきたHTMLは、あくまで文書の構造を表現することしかできませんでした。CSSを用いると、HTMLによって形作られた文書構造を、極めてリッチに装飾することができます。
style
属性を使用してCSSを使ってみる
以下のようなHTMLファイルを作成しましょう。
caution
これ以降、HTMLを記述する際は、必要な部分のみを記述するものとします。例えば、上記の例であれば、実際のHTMLファイルは
となるのでしょうが、今回関心があるのはbody
タグの内部のみです。
上記の例の実行結果は、以下のようになるはずです。
Hello World
CSSは、プロパティ名: 値;
の形式で記述します。上記の例で使われているcolor
プロパティは文字色を設定するため、font-size
プロパティは文字サイズを指定するためのプロパティです。セミコロンで区切って複数のプロパティを使用することができます。
CSSを別ファイルに分離する
Webサイトの見た目に対する社会の要求の高まりに応えてCSSのプロパティの種類は増え続け、現在ではとても数えきれないほどとなっています。CSSの記述量はHTMLのそれとは比較にならないほど多い場合がほとんどです。
このため、CSSをすべてstyle
属性で記述するのは現実的ではありません。数が多すぎて、見通しが悪くなってしまうからです。このため、通常CSSファイルはHTMLファイルとは別に用意します。
CSSファイルの拡張子は通常.css
です。今回はindex.html
と併せてstyle.css
を作成しました。
まず注目すべきはlink
タグです。href
属性を指定することにより、外部に作成したCSSファイルを読み込ませることができます。
外部CSSファイルの中身はcolor: red; font-size: 40px;
だけというわけにはいきません。なぜなら、このCSSがHTML上のどの要素に適用されるのかを指定しなければならないからです。
その役割を担っているのがセレクタ、この例では#element
の部分です。「id
属性がelement
である要素」を示します。id
属性は、HTML要素に対して開発者が自由に設定できますが、1ページ内に同じid
属性を持つ要素が複数存在してはならない、というルールがあります。
これに対し、class
属性は、開発者が好きな値を設定できるのは同じですが、同じ値を複数の要素が持つことを許されています。また、スペース区切りで複数の複数の値を設定することもできます。セレクタは、.element
のようにドット記号に続けて記述します。
セレクタ | 意味 |
---|---|
#element | id 属性がelement である要素 |
.element | class 属性にelement が含まれる要素 |
element | タグ名がelement である要素 |
また、セレクタをスペースで区切ると子孫要素、>
で区切ると直属の子要素を表すことができます。そのまま繋げばand条件とみなされます。
セレクタ | 意味 |
---|---|
div.element | class 属性にelement が含まれるdiv 要素 |
#parent .child | id 属性がparent である要素の子孫の、class 属性にchild が含まれる要素 |
#parent > div | id 属性がparent である要素の直属の子のdiv 要素 |
セレクタを上手に活用すると、HTMLを最小限必要なものに抑えながら、変更に強くて柔軟なCSSを作成することができます。