私はCSS3 Selectors specを少し見ましたが、この問題を解決する方法は何も見つかりませんでした。さらに、私は、CSS宣言を動かすときにこの結果が変わることを期待していませんでしたが、それはそうです。どんな助けも素晴らしいだろう。それはすべての主要なブラウザとIEとの互換性があり、このチャートhttp://www.quirksmode.org/css/contents.htmlによるスタイルシートの順序に基づくCSSの特定性/優先度?
div.green_colour > div.has_colour{
background-color: green;
}
div.red_colour > div.has_colour{
background-color: red;
}
:
div.green_colour div.has_colour{
background-color: green;
}
div.red_colour div.has_colour{
background-color: red;
}
<div class="red_colour">
<div class="green_colour">
<div class="has_colour">
I would like this to be green
</div>
</div>
</div>
<div class="green_colour">
<div class="red_colour">
<div class="has_colour">
I would like this to be red
</div>
</div>
</div>
ちょうど参照のために、それはCSS3セレクターの仕様です。 CSS3はモジュール式なので、51の仕様があります - http://www.w3.org/Style/CSS/current-workを参照してください。 HTML5と同様に、それは大きなことではありません。 –
そして私は、移動したときに異なる効果を持つスタイルに関連する問題は、[CSSカスケードと継承 "仕様](http://www.w3.org/TR/css3-cascade/)で説明されていると思います。 –
ブリリアント。リンクポールのおかげで多くの。 – AJP