2

重複の可能性:
jQuery と CSS の :not() セレクターの違いは何ですか?

クラス の CSS セレクターの書き方'ui-content'。しかし、それはid 'ui-container'の子であってはなりません?

CSSで次のセレクターを試しました。

.ui-content:not(#ui-container > .ui-content) {
    //styles goes here
}

ただし、jquery のよう$('.ui-content:not(#ui-container > .ui-content)')に動作しますが、純粋な CSS では動作しません。

この CSS セレクターを修正するにはどうすればよいですか?

jquery で動作するすべてのセレクターは、純粋な CSS セレクターでは動作しませんか?

4

2 に答える 2

2

これは簡単です:

:not(#ui-container) > .ui-content{
   // style
 }

#ui-container でなくても .ui-content の直接の親になるクラスが他にないことを確認する必要があります。

于 2012-11-06T13:29:57.307 に答える
0

IE8以下をサポートしたい場合、CSSでこのようなロジックを使用することはできません.CSSではできない親要素を見るために本質的にDOMを上っているので.

別の方法として、グローバル スタイルをすべての.ui-content要素に適用し、より具体的なセレクターを使用してコンテナー内の要素のスタイルをオーバーライドします#ui-container .ui-content。これを試して:

.ui-content {
    color: #C00;    /* Dark red */
}

#ui-container .ui-content {
    color: #CCC;    /* Grey */
}
于 2012-11-06T13:29:17.817 に答える