CSS
 Computer >> コンピューター >  >> プログラミング >> CSS

CSSクラスセレクターとは?基本構文から実践例までわかりやすく解説

CSSクラスセレクターは、HTML要素に付与されたclass属性の値が一致するすべての要素を対象に、スタイルを適用するためのセレクターです。同じデザインを複数の要素にまとめて適用できるため、CSSの中でも最も使用頻度の高いセレクターの一つです。

クラスセレクターの基本構文

クラスセレクターは、クラス名の先頭にドット(.)を付けて次のように記述します。

.class-name {
    property-name: value;
}

対応するHTML側では、class属性として同じクラス名を指定します。

<div class="class-name"></div>

このように、CSSで定義した.class-nameは、class属性に「class-name」を持つ<div>要素に紐づきます。スタイルシート内で.class-nameに追加したプロパティは、すべてこのdiv要素に反映されます。

なお、クラス名の前につくドット(.)はCSS特有の記法です。HTML側でclass属性としてクラス名を指定するときにはドットを付けないので、混同しないよう注意しましょう。

実践例:ボタンのデザインをカスタマイズする

それでは、学んだ内容を実践的な例で確認してみましょう。まずは、ブラウザのユーザーエージェントスタイルシート(デフォルトスタイル)が適用された、装飾のない<button>要素です。

<button>Button</button>

表示結果:

少し味気ない仕上がりですね。そこで、デフォルトのボタンスタイルを上書きするために、.my-buttonというCSSクラスを作成し、スタイルプロパティを設定してみます。

.my-button {
    font-size: 18px;
    padding: 14px 24px;
    border-radius: 8px;
    border: none;
    background-color: #F7575C;
    color: white;
}

作成したクラスを、button要素のclass属性として追加します。

<button class="my-button">Button</button>

表示結果:

たったこれだけで、オリジナルデザインのボタンが完成しました。CSSクラスセレクターを使ううえで必要な要点は、これでひと通りマスターできたと言えるでしょう。

覚えておきたいポイント

  • クラスは何度でも再利用できる:IDセレクターは1つのページで1回しか使えませんが、クラスセレクターは任意の数のHTML要素に対して何度でも適用できます。
  • 1つの要素に複数のクラスを指定できる:<div class="first-class second-class third-class">のように、スペース区切りで複数のクラスを組み合わせられます。小さなユーティリティクラスを積み重ねて柔軟にデザインを構築できるのが大きな魅力で、Tailwind CSSなどのフレームワークもこの手法を採用しています。
  1. CSSの子セレクター(Child Selector)の使い方を徹底解説

    CSSの子セレクターは、指定した要素の直下にある子要素だけを選択したい場合に使用するセレクターです。より具体的にスタイルを適用したい場面で非常に役立ちます。div > p子セレクターとは?子セレクターは「>」記号を使って表現します。上記の例では「div > p」と記述することで、<div>要素の直接の子要素である<p>要素のみが選択されます。注意すべき点は、孫要素やそれ以降の階層には適用されないということです。例えば、<span>タグの中に入れ子になった<p>要素は、divから見ると孫要素にあたるため、スタイルの対象外となります

  2. CSSの子孫セレクタとは?基本の書き方と実行例をわかりやすく解説

    CSSの子孫セレクタ(descendant selector)は、指定した要素の「内側にあるすべての子孫要素」にスタイルを適用するためのセレクタです。親要素と対象要素を半角スペースで区切って記述するのが特徴で、直下の子要素だけでなく、孫要素やそれ以降の階層にある要素もすべてマッチします。 子孫セレクタの基本的な書き方 構文は以下のように、親となるセレクタの後に半角スペースを空けて、対象となるセレクタを続けて記述します。 親セレクタ 対象セレクタ { プロパティ: 値; } たとえば div p と書けば、「div要素の中に存在するすべてのp要素」がスタイル適用の対象になります。divの直下