2016-07-03 7 views
0

セレクタ...、子classA要素の子(直接または間接)。これはclassA要素のclassC要素の子要素にはバックグラウンドを適用しませんが、classB要素の子要素には適用しません。これは正しいですか?CSSトリプル子孫これは、すべてのクラスCの要素に背景を適用する</p> <pre><code>.classA .classB .classC{ background-color: #000; } </code></pre> <p>私は、子孫のセレクターに疑問をしました

.classA > .classB .classC{ 
    background-color: #000; 
} 

ThissはClassBの要素は、クラスのDIRECT(非間接)の子要素であるすべてのクラスC要素、全てClassBの要素オフ(直接または間接的な)子に背景を適用します。

すべては正しいですか?

+1

>が直接の子をチェックし、後者のルールは子供である.classBの間接的または直接の子孫である要素を(即時).classCに適用されますので、 .classAの – Li357

答えて

2

"子"の代わりに "子孫"を除いて、あなたが言ったことはすべて正しいです。 「直接的な子供」は同義語である。子どもは定義の直後の子孫です。逆にセレクタE > F > Gでは、Gは子の子ではなくEの子孫です。それはその孫です。

なぜなら>は単に子コンビネータ、または直接子孫コンビネータとして知られていますが、 "直接子"コンビネータではありません。

も参照してください:What does the ">" (greater-than sign) CSS selector mean?(そこに私の答えの特に脚注)が