【コピペOK】CSSでクラス属性を複数指定するには?サンプルコードを用いて解説

公開日: 2021.11.10
更新日: 2024.01.03
cssCSSでクラス属性を複数指定するには

「CSSで複数のクラスをまとめるにはどうしたらいいんだろう?」
「CSSでクラスを複数指定したときの優先順位について知りたい」

上記のような疑問を抱えている方もいるのではないでしょうか?

異なるセレクタに同じスタイルを指定するために、同じCSSを2回記述すると二度手間のように感じますよね。

今回、WEBCAMP MEDIAでは、CSSでクラス属性を複数指定する方法について解説します。

  • 複数指定する方法
  • 子要素や孫要素を指定するには
  • 優先順位について

以上の項目について解説します。

この記事を読むことで、CSSを使って複数のクラスを指定する方法について理解できるので、ぜひチェックしてみてくださいね!

CSSで複数のクラスに同じスタイルを設定する方法

CSSセレクタ同士の間にカンマ「,」を指定して区切ることで、複数のクラスに同じスタイルを設定できます。

複数のクラスに同じスタイルを設定することでCSSの記述量が減り、メンテナンスしやすくなるのでこの記事をきっかけに覚えておきましょう。

サンプルコード

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>test</title>
  <style>
.test1, .test2{
    background-color: blue;
    color:white;
}
  </style>
</head>
<body>
  <p class="test1">テスト1</p>
  <p class="test2">テスト2</p>
</body>
</html>

実行結果

実行画面

test1とtest2という2つのクラス同時に「background-color: blue;」というスタイルを設定しています。

カンマで区切って複数指定する方法は、クラスだけでなくid属性やHTML要素を単体で指定するときも利用可能です。

CSSで複数のクラスを指定して子要素や孫要素を指定する方法

HTMLの記述量が増えるとクラス名が重複して、単体でセレクタを指定しても複数のクラスにスタイルが反映されることがあります。

そんなときは、セレクタ同士の間に半角の空白を開けて複数指定することで、特定のHTML要素を起点に子要素や孫要素を指定できます。

親要素のセレクタ 子要素のセレクタ{
    //プロパティを記入
}

上記のように、起点になる要素から順に記述していきます。

サンプルコード

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>test</title>
  <style>
.parent .child1{
    background-color: blue;
    color:white;
}
  </style>
</head>
<body>
  <div class="parent">
    <p class="child1">子要素1</p>
    <p class="child2">子要素2</p>
  </div>
  <div>
    <p class="child1">子要素1</p>
  </div>
</body>
</html>

実行結果

実行画面

上記のようにchild1というクラスを2つ用意していますが、parentクラスの子要素である要素のみCSSが反映されています。

また、子要素を指定するときは、親セレクタと子セレクタの間に不等号「>」を指定しても特定の子要素のみ反映できます。

<style>
.parent>.child1{
    background-color: blue;
    color:white;
}
</style>

CSSでクラスを複数指定したときの優先順位

クラスを複数指定しているCSSが重複している場合、詳細度の高いCSSが優先されます。

詳細度とは、セレクタをどれだけ細かく設定したかという度合いのことで、詳細に設定したCSSほど優先的に反映されます。

たとえば「p」と「.test >.parent >p」で指定する場合は、詳細度が高いのは後者になります。

サンプルコード

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>test</title>
  <style>
    .parent>.child>p{
        background-color: blue;
        color:white;
    }
    .child>p{
        background-color: red;
        color:white;
    }
  </style>
</head>
<body>
  <div class="parent">
    <div class="child">
      <p>テスト</p>
    </div>
  </div>
</body>
</html>

実行結果

実行画面

上記のように、より詳細にCSSを記述した方が反映されています。

CSSは指定したセレクタが被った場合、後から記述したコードが前のコードを上書きして反映されますが、詳細度を高くすることで記述場所関係なく優先されます。

まとめ

今回は、CSSでクラス属性を複数指定する方法についてサンプルコードを用いて解説しましたが、いかがでしたでしょうか?

CSSでクラスを複数指定することで、コードがシンプルになり記述行も減ります。

また、CSSの優先順位も明確にできるのでメンテナンスしやすくなります。

今回学んだことを最後に確認しておきましょう。

  • 複数のクラスにCSSを当てる場合は、セレクタ同士の間にカンマ「,」を指定する
  • 複数のセレクタで子要素を指定するときは、セレクタ同士の間に空白文字を入れて区切る

ぜひ参考にしてみてくださいね!

関連記事

資料請求

  • 短期集中で最速エンジニア転職を実現-転職成功者インタビュー一覧

    DMM WEBCAMPでは転職成功率98%を実現しています。本資料では、元警察官や元ラーメン屋など様々なバックグラウンドを持つ卒業生の声をお届けします。

    資料をダウンロードする
  • IT技術がもたらす3つの変化と身につけるべきスキル

    IT技術の発展により、今後10~20年程度で47%の仕事がなくなると言われています。どのような変化が訪れ、私達はどのようなスキルを身につけるべきかを解説します。

    資料をダウンロードする
  • 未経験がフリーランスエンジニアになる方法-年収アップで自由な働き方を手に入れる

    働き方改革やリモートワークの影響でフリーランスという働き方の人気は高まりつつあります。フリーランスエンジニアとして活躍するために必要な情報をお届けします。

    資料をダウンロードする

© 2024 WEBCAMP MEDIA Powered by AFFINGER5