質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

1127閲覧

cssのクラスの定義について

chiku_

総合スコア1464

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2016/01/12 02:29

クラスの定義方法がよく分かりません。

html

1<div class="classA classA_B"></div>

css

1.classA { 2 width: 3px; 3} 4 5.classA .classA_B { 6 height: 25px; 7}

上記のような書き方をするとclassAとclassA_Bが両方適用されるという
認識(classA_Bが後勝ち)なのですが、classA_Bのクラス自体が適用されません。

またこのようなCSSのクラスの定義方法をどのように言うのでしょうか?継承?親子?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

classAclassA_Bを両方適用させるには

.classA, .classA_Bのように,で区切る必要があります。

もしくはikki57さんの仰るように
.classA.classA_Bとくっつけても両方が適用されます。

この2つの違い

.classA, .classA_Bはそれぞれのセレクタに対して適用されます。

css

1.classA { 2 height: 25px; 3 } 4.classA_B { 5 height: 25px; 6 }

上記のような記述の省略形です。

対してくっつけて書く.classA.classA_B
classAclassA_Bの両方が指定された要素にのみ適用されます。

この場合class="classA"だけを指定された要素、
またはclass="classA_B"だけを指定された要素に対しては何も適用されません。

状況に応じて上手く使い分けましょう。

またこのようなCSSのクラスの定義方法をどのように言うのでしょうか?継承?親子?

継承とは、親要素のスタイルを子要素が受け継ぐことを言います。
今回のような複数のセレクタから成るスタイルについては統合と言います。

また、複数のスタイルが統合された状態のものをcomputed styleと言います。

投稿2016/01/13 01:48

maru0014

総合スコア151

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chiku_

2016/01/13 01:51

カンマ区切りしないといけないのですね。またcomputed styleなど勉強になりました!回答ありがとうございました。
guest

0

.classA .classA_Bと記述すると、.classA配下の.classA_Bに対するスタイルになるので、

classA_Bのクラス自体が適用されません。

は当然の結果です。

classAとclassA_Bが両方適用されるという

としたいのであれば、

.classA.classA_B { height: 25px; }

と記述します。(スペースを空けない)

投稿2016/01/12 02:33

編集2016/01/12 02:35
ikki57

総合スコア290

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chiku_

2016/01/13 01:51

すばやい回答ありがとうございました。おかげさまで解決できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問