1

私はいくつかの部門を持っています。それらの 1 つがありますclass="active"。の div を除いて、すべての div を非表示 ( display:none;) にし.activeます。セレクターはどうあるべきですか?

4

4 に答える 4

5

やってみました?

div { display: none; }

div.active { display: block; }

PS。説明を追加します。セレクターでクラスを指定すると、カスケードロジックでは、単一のdiv(単一のdivの方が一般的で幅が広いため)よりも優先度が高くなります(特異性が高いため)。したがって、そのようなものを使用する必要はありません!important

于 2013-01-29T13:26:43.033 に答える
1

:not疑似クラスを試してください。

例えば:

div:not(.active) {display:none;}

Paulが以下にコメントしているように、このセレクターはIE8以下ではサポートされていません。ただし、CSS3タグを含めてセレクターを具体的に要求したことを考えると、それは問題ではない可能性があります。クロスブラウザソリューションについては、@mkdotamの回答を参照してください。

于 2013-01-29T13:26:31.017 に答える
1
div:not(.active){
    display: none;
}
于 2013-01-29T13:27:00.627 に答える
-2

!importantcssで使用します。次のようなものです。

.active {
    display: block !important;
}

例: http: //jsfiddle.net/hNLen/

于 2013-01-29T13:28:24.903 に答える