CSS ・ CSSの記法

A, B

複数の要素にまとめて指定する

複数のセレクタを「,(カンマ)」で区切ると、同じスタイルをまとめて指定できます。要素名とid・classを組み合わせて範囲を絞る書き方もあります。

書き方
A, B { }
詳細度
セレクタごとに別々に計算
組み合わせ
p.note / h2#title など
01

サンプルコード

HTML
1<h2 class="title">見出し</h2>
2<p class="lead">リード文</p>
3<p class="note">注意書き(p.note)</p>
4<div class="note">注意書き(div.note)</div>
CSS
1/* カンマ区切り:.title と .lead に同じ色 */
2.title,
3.lead {
4 color: #7d5411;
5}
6/* 要素+クラス:p 要素の .note だけ */
7p.note {
8 padding: 4px 8px;
9 background: #fff3e4;
10}
02

実行結果

ブラウザでの表示
03

解説

複数のセレクタに同じスタイルを当てたいときは、.title, .lead のように , で区切って並べます。同じ指定を何度も書かずに済みます。読みやすさのため、カンマの後で改行して1行に1つずつ書くのが一般的です。

p.note のように、要素名の直後に(空白を入れずに)クラスや id を続けると、「p 要素で、かつ note クラスを持つもの」だけを指定できます。上の例では、同じ .note でも div には背景が付いていません。

カンマで区切ったセレクタは、詳細度もそれぞれ別に計算されます。

04

応用例・注意点

書き方の違い

セレクタ説明
.a, .ba または b(カンマ区切り:まとめて指定)
p.notep 要素で note クラスを持つもの
h2#titleh2 要素で id が title のもの
.a.ba と b の両方のクラスを持つもの
.a .ba の中にある b(空白:子孫セレクタ)

見出しをまとめて指定する

h1〜h3 の書体や行の高さを一度に指定します。

CSS
1h1,
2h2,
3h3 {
4 font-weight: bold;
5 line-height: 1.3;
6}

ホバーとフォーカスを同じ見た目に

疑似クラスもカンマで並べられます。

CSS
1.btn:hover,
2.btn:focus-visible {
3 background: #b68235;
4 color: #fff;
5}

注意点

  1. 01カンマで区切ったセレクタの1つに書き間違い(存在しない疑似クラスなど)があると、まとめて無効になることがあります。
  2. 02p.note(空白なし)と p .note(空白あり)は意味が違います。空白ありは「p の中にある .note」になります。
  3. 03最後のセレクタの後ろにはカンマを付けません。
↑↓ 選択Enter 移動Esc 閉じるCtrl K⌘K で開閉