2017-03-10 9 views
0

はのは、私は次のHTML構造を持っていると仮定しましょう:ターゲット子ども

<div> 
     <div class="class1"> 
      <p class="subclass">whatever</p> 
     </div> 
     <div class="class2"> 
      <p class="subclass">whatever</p> 
     </div> 
     <div class="class3"> 
      <p class="subclass">whatever</p> 
     </div> 
</div> 

は、それは先祖の下で、クラス名subclassを持つ要素をターゲットとする1つのCSSセレクタルールを持つことが可能ですクラス名class1またはclass2

答えて

2

あなたは常にセレクタ

.class1 .subclass, .class2 .subclass { 
 
    color: red; 
 
}
<div> 
 
     <div class="class1"> 
 
      <p class="subclass">whatever</p> 
 
     </div> 
 
     <div class="class2"> 
 
      <p class="subclass">whatever</p> 
 
     </div> 
 
     <div class="class3"> 
 
      <p class="subclass">whatever</p> 
 
     </div> 
 
</div>
を組み合わせることができます .class*で始まるものを選択するように :not()と属性セレクタを使用して .class3

[class^="class"]:not(.class3) .subclass { 
 
    color: red; 
 
}
<div> 
 
     <div class="class1"> 
 
      <p class="subclass">whatever</p> 
 
     </div> 
 
     <div class="class2"> 
 
      <p class="subclass">whatever</p> 
 
     </div> 
 
     <div class="class3"> 
 
      <p class="subclass">whatever</p> 
 
     </div> 
 
</div>

を除外することができます10

+0

ほとんどの項目では、オプション2を使用します。多くの項目で同じルールを使用し、オプション1を使用します。 オプション2は、読みやすく、変更が容易であり、複雑さも軽減されます。 あなたの明確な答えをありがとう。 – MJoraid

関連する問題