私はCSSを学び始めたばかりで、私が完全に理解していない例に出会いました。私はそれをうまく説明できないので、答えを見つけるのが難しくなりました(したがって、見落としている答えがすでに存在する場合は謝罪します)。
私の質問は、次の例に関するものです。
.theme-light.slider-wrapper {
background: #fff;
padding: 10px;
}
CSSのクラスは.name
構文を使用して定義され、次のようなタグで使用できることを理解しています。
<div class="name"></div>
.name1
.name2
の「二重」宣言がどのように機能し、タグでどのように使用されるかはわかりません。
関連するメモでは、与えられたサンプルWebサイトは、スタイルシートに存在しないタグのIDを使用しています。
たぶん、この使用例はあなたのために物事を明確にするでしょう。
次のシナリオを想像してください。
あなたが持っているでしょう:
<div class="general-div">some stuff</div>
<div class="general-div special">some stuff</div>
<div class="general-div">some stuff</div>
<div class="extra-div">some stuff</div>
<div class="extra-div special">some stuff</div>
そして、次のようにdivに同じ属性を持たせたいとしましょう:
.general-div {width: 300px; height: 300px; border: 1px solid #000;}
.extra-div {width: 200px; height: 200px; border: 1px solid #666;}
ただし、.specialクラスの.general-divの背景を赤にし、.specialクラスのextra-divの背景を青にする必要があります。
あなたは書くでしょう:
.general-div.special {background-color: red;}
.extra-div.special {background-color: blue;}
問題の状況の使用が明らかになることを願っています。
.className
セレクタを使用するCSSでは、「className」クラスを使用してすべての要素のプロパティを定義できます。すべての要素には、より多くのクラスを含めることができます。より多くのクラスを持つセレクターの意味は、宣言でそれらをどのように組み合わせるかに依存します。
.class1.class2
は、両方のクラスが定義されている要素のみに一致します。
.class1.class2 { background: red; }
<div class="class1 class2"></div>
.class1, .class2
は、.class1または.class2の要素と一致します
.class1, .class2 { background: yellow; }
<div class="class1"></div>
<div class="class2"></div>
.class1 .class2
は、class1の要素内のclass2の要素のみに一致します。
.class1 .class2 { background: blue; }
<div class="class1">
<div class="class2"></div>
</div>
<div class="name1 name2"></div>
?のような二重クラスの使用方法
div
クラスname1
およびname2
が必要です( ライブデモを参照 )。
どうでしょう.theme-light.slider-wrapper
?
つまり、要素にはtheme-light
クラスとslide-wrapper
クラスの両方が必要です( ライブデモを参照 )。
より多くの要素に適しています。一部の要素の背景を灰色にする必要があります。問題ない!クラスgray
を追加してcssを定義します。
.gray {
background: #ddd;
}
また、いくつかの要素には赤いテキストが必要です。 cssでred-text
クラスを定義します。
.red-text {
color: red;
}
そして、段落の最後には灰色の背景と赤いテキストがあります。このred-text
のようなgray
クラスと<p class="gray red-text">Lorem ipsum</p>
クラスの両方を追加するだけです。
.theme-light.slider-wrapper
は、両方のクラスがあることを意味します。 HTMLでは、次のようになります。
<div class="theme-light slider-wrapper"></div>
IDに関しては、HTMLのIDをCSSで参照する必要がある理由はありません
あなたは使わなければなりません
<div class="class1 class2">
オブジェクトに複数のクラスを適用します。