8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【備忘録】同じタグ内で複数のclass名を並べる理由とCSS記述について

Posted at

初めに

HtmlのdivタグやspanタグにCSSを適用するためには、id名もしくはclass名を付けます。特にcalssセレクタは頻繁に使われていますが、その中でも複数のクラス名を一つの要素に並べるケースについてその理由とcssの記述について纏めてみました。

目次

  • idとclassの違い
  • 同じタグ内に複数のclass名を付ける理由
  • 同じタグ内に複数のclass名が並んだ場合のCSS記述
  • 複数のクラス名が入れ子構造(ネスト)の場合
  • 複数のclassに同じcssを適用する場合
  • まとめ

idとclassの違い

id属性はhtml文書内でたった一つしかない要素に対してスタイルを適用する時に使います。なので同じ文書内に同じid名が複数存在することはあり得ません。これに対してclass属性の場合、複数のタグに同じclass名を付けてそれぞれ同じスタイルを適用することができます。「この部分は絶対このスタイルにしたい、他の要素タグとスタイルが被りたくない」と言う場合を除いて、class属性を使った方が無難です。

同じタグ内に複数のclass名を付ける理由

色んなケースがあると思いますが代表的な例としては、cssを利用したアニメーションを作る場合が挙げられます。z-indexを指定し、layer構造にしてそれぞれ違うスタイルを適用する場合に複数のclass名を並べます。cssアニメーションについては下記のサイトをご利用ください。

同じタグ内に複数のclass名が並んだ場合のCSS記述

divタグ内にapplicationとexampleと言う2つのクラス名が並んだケースを見てみると
①HTML

<div class="application example">application <br>
</div>

②CSS

.application.example {
                       color: #3f32d3;
                       }

ここでポイントになるのが、「.application」と「.example」の間を半角スペースなどで空けてはいけません。理由は同じタグ内にクラス名が並んでいるからです。これと似たような記述で間違えやすいのが次の様なケースです。

複数のクラス名が入れ子構造(ネスト)の場合

次のように適用したいクラスの要素がexampleで、example要素がapplication要素に対して親子関係にある場合は次のように
CSSを記述します。
①HTML

<div class="application"> <br>
     <section class="example">example
    </section>
</div>

②CSS

.application .example {
                       color: #3f32d3;
}

この場合、「.application」と「.example」の間は半角スペース1個分を空けなければなりません。その理由はapplicationクラスとexampleクラスがネスト構造で離れているからです。

複数のclassに同じcssを適用する場合

最後に次の様に複数の異なるクラスに同じスタイルを適用する場合には以下の様に記述します。
①HTML

<div class="kind-1">kind-1</div>
<div class="kind-2">kind-2</div>

②CSS

.kind-1,.kind-2 {
                 color: pink;
}

ポイントは「.kind-1」クラスと「.kind-2」クラスの間に「,」を入れつことです。

##まとめ
以上をまとめて表示すると次のようになります。
①HTML

<body>
    <div class="application example">application<br>
        <section class="example">example
        </section>
    </div>
    <div class="trip" id="helper">trip</div>

    <div class="kind-1">kind-1</div>
    <div class="kind-2">kind-2</div>
</body>

②CSS

.application .example {
    color: #3f32d3;
}

.application.example {
    color: #f324df;
}

.trip#helper {
    color: #aafef6;
}

.kind-1,
.kind-2 {
    color: pink;
}

③画像
スクリーンショット 2021-01-29 20.41.35.png

8
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?