CSS セレクタの優先順位を理解する
このステップでは、CSS セレクタの特異性と、要素にスタイルを適用する際に異なる種類のセレクタがどのように優先順位付けされるかについて学びます。セレクタの優先順位を理解することで、複数のセレクタが同じ要素を対象とする場合にどのスタイルが適用されるかを制御することができます。
前のステップで作成したindex.htmlファイルを WebIDE で開きます。HTML と CSS を更新してセレクタの優先順位を示します:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>CSS Selector Priorities</title>
<style>
/* ここでセレクタの優先順位を示します */
</style>
</head>
<body>
<div id="priority-demo" class="highlight">
<p>Understanding CSS Selector Priorities</p>
</div>
</body>
</html>
次に、異なるセレクタがどのように優先順位付けされるかを示す CSS を追加します:
/* タグセレクタ(最も低い優先順位) */
p {
color: green;
font-size: 16px;
}
/* クラスセレクタ(中間の優先順位) */
.highlight {
color: blue;
border: 2px solid gray;
}
/* ID セレクタ(最も高い優先順位) */
#priority-demo {
color: red;
font-weight: bold;
}
/* インラインスタイルは最も高い優先順位を持ちます(この例では示していません) */
セレクタの優先順位階層(最も低いものから最も高いものまで):
- タグセレクタ
- クラスセレクタ
- ID セレクタ
- インラインスタイル(この例では示していません)
このファイルを保存してブラウザで開くと、以下のように表示されます:
- 段落のテキストは赤色になります(ID セレクタから)
- div には灰色の枠が表示されます(クラスセレクタから)
- フォントは太字になります(ID セレクタから)
ブラウザでの出力例:
- 段落の赤色で太字のテキスト
- div の周りの灰色の枠
- より特定のセレクタがより特定でないセレクタを上書きする方法を示しています