CSSのセレクタを使って構造を意識したスタイリングをしよう!初心者でもわかる入門講座
生徒
「CSSって、どうやってホームページの見た目を変えるんですか?」
先生
「CSSは、HTMLで作られたページにデザインを加える道具です。文字の色、大きさ、余白、背景などを自由に変えられますよ。」
生徒
「でも、ページの中でどの部分にCSSを使うのか、どうやって指定するんですか?」
先生
「とても大事なポイントですね!それには“セレクタ”という仕組みを使って、HTMLの構造を見ながらデザインしていきます。」
1. CSSセレクタとは何か?
CSSセレクタとは、HTMLの中のどの部分にスタイル(見た目)を当てるかを指定する方法です。「誰に命令するか」を決める合図のようなものです。
たとえば、「すべての見出し(h1)を赤くしたい」と思ったとき、h1というタグにCSSの命令を出すことで、見出しのデザインを変えることができます。
2. 構造を意識したセレクタってどういう意味?
HTMLは入れ子(いれこ)構造でできています。入れ子とは、お弁当箱の中にさらに小さいお弁当箱が入っているようなイメージです。たとえば、記事の中に見出しや段落、画像が入っているような形です。
構造を意識したセレクタとは、「どこに入っている要素か」を考えてCSSを書く方法です。これによって、正確に必要な部分だけにデザインを適用できます。
3. HTMLの構造を見てセレクタを選ぶ方法
次のようなHTMLの例を見てみましょう。
<div class="article">
<h2>記事のタイトル</h2>
<p>本文の最初の段落です。</p>
<div class="author">
<p>著者:山田太郎</p>
</div>
</div>
ブラウザ表示
この中の「著者:山田太郎」だけの文字の色を変えたい場合、すべてのpタグを対象にすると本文も変わってしまいます。そこで、入れ子の構造に注目します。
「.authorの中のpだけ」と指定すれば、著者の名前だけをスタイリングできます。
4. 構造を意識したCSSの書き方の具体例
上のHTMLにCSSを適用してみましょう。
<style>
.article h2 {
color: blue;
}
.article p {
font-size: 16px;
color: black;
}
.article .author p {
color: green;
font-style: italic;
}
</style>
<div class="article">
<h2>記事のタイトル</h2>
<p>本文の最初の段落です。</p>
<div class="author">
<p>著者:山田太郎</p>
</div>
</div>
ブラウザ表示
このように、「.article .author p」と書くことで、構造的に特定の場所にだけスタイルを当てることができます。これは「親の中の子」を意識して書くやり方です。
5. よく使う構造セレクタのパターン
CSSでは、構造に合わせていろいろなセレクタが使えます。ここではよく使う3つのパターンをご紹介します。
- 親 子(半角スペース):ある要素の中にある別の要素を指定します。例:
.menu li - 親 > 子(大なり):すぐ下の階層だけを指定します。例:
.menu > li - 兄弟 + セレクタ:すぐ後ろの兄弟要素を指定します。例:
h2 + p
このように、構造セレクタを使うと、見た目をピンポイントで変えることができます。
6. CSSセレクタを正しく使うと何が良いの?
CSSのセレクタを構造に合わせて正しく使うことで、次のようなメリットがあります。
- 間違って他の部分まで変えてしまうことがなくなる
- あとでHTMLを変更しても、CSSが崩れにくい
- 読みやすくて管理しやすいCSSになる
たとえば、HTMLの中で100個のpタグがあるとします。その中の特定の場所だけにデザインを適用したい場合、構造を意識してセレクタを書くと、他の場所には影響を与えずに済みます。
7. まとめ:構造セレクタを使ってCSSをもっと便利に
CSSのセレクタを使って、HTMLの構造を意識したスタイリングを行うと、見た目を自由にコントロールできるだけでなく、管理しやすく、後からの修正も簡単になります。
今回紹介したように、「どこにあるか」「何の中にあるか」を見てセレクタを書くことで、プロのようなCSSの書き方に一歩近づけます。