2009-06-29 7 views

答えて

4

Alt :not()疑似クラスは特定の状況では便利ですが、CSS 3仕様の一部であるため、最新のブラウザ以外ではサポートされていません。トライデントベースのブラウザ(Internet Explorer)はサポートしていませんが、Firefox 2と3、Opera、Safari、Chrome、その他のGeckoとWebkitベースのブラウザでサポートされています。

これは、CSSの「カスケード」の部分を使用するには、この時点で、おそらくはるかに良いアイデアです:

.container[orient="landscape"] * { ... } 
.toolbar {...} 

.containerセレクタを上書きする.toolbarセレクタを使用してください。

アトリビュートセレクタ[orient="landscape"]の使用は、古いブラウザ、特にIE 6以下ではサポートされていないことを指摘しておきます。ここ

はCSSの良いガイドは、3つの機能である:ない()が含ま:Smashing Magazine: Take Your Design To The Next Level With CSS3

1

Decent explanation here

完全にあなたがあなたの例で達成しようとしているのかわからないが、それはおそらく私がもっと

.container[orient="landscape"]:not(.toolbar) 

または

.container[orient="landscape"] > :not(.toolbar) 
+0

第2のセレクタは、与えられたセレクタと同じです。 – BoltClock

1

here's a link

のいずれかのように見えると思いますそれはFFや​​サ​​ファリでのみ動作すると思います.IEではそれほどではありません。

0

を私は使用についての将来の探索者に有用であり得る疑似クラスを組み合わせることで、観察を共有したいと思います:しません()。 :not()を:first-line擬似クラスと組み合わせて使用​​すると、not()が最初にリストされなければならず、最初の行が後になります。次のCSSの例で:

.content h1 { 
    font-size: 36px; 
    line-height: 34px; 
    text-transform: uppercase; 
    font-weight: bold; 
} 
.content h1:not(.second):first-line { 
    color: #971d2d; 
} 
.content h1.first { 
    color: #444; 
} 
.content h1.second { 
    color: #666; 
} 
.content h1.second:first-letter { 
    color: #030303; 
} 

配置「:しない(.second)」後「:最初の行は、」正常に動作しないであろうだけでなく、不利に他の宣言に影響を与えますカスケード。

スクリプト言語を使用していた場合と同じ順序で構いません。したがって、このような何か:これはないだろう

if ($('h1:first-line') { 
    !(this.useClass('.second') 
} 

if ($('h1') && !$('.second')) { 
    this.usePseudoClass(':first-line'); 
} 

は、タスクではなく、このような何かを達成するために論理的な意味になるだろう。

乾杯、この入力が他の人に役立つことを願っています。

関連する問題