2011-10-21 2 views
0

私は特定のクラスに対してie7で実行されないようにcss3pieを取得しようとしています。私はHTML5 Boilerplateを使用してIE固有のクラスを使用しています。私は何をしようとしてきたことは、このクラスを使用して特定のバージョンのIEでCSS3Pieを実行しないという巧妙な方法はありますか?

.ie7 .classname { 
position: absolute; 
background: #000; 
} 
.classname { 
    css3pie: stuff; 
    position: relative 
    background: #fff; 
} 

である。しかし、これはcss3pieがまだ処理取得され、動作していないようです。

誰かが私がcss3pie修正プログラムを実行しないようにすることができる他のアイデアはありますか?

答えて

0

私はこのように、あなたは明示的にあなたがそれを処理するために望んでいたの宣言にcss3pieを適用しなければならなかった印象の下にあった:あなたはPIE(pie.htc)のDHTMLの動作バージョンを使用している場合は、

.border-radius-5 { 
    -webkit-border-radius : 5px; 
    -moz-border-radius : 5px; 
    border-radius : 5px; 
    position:relative; 
    behavior: url(/css/PIE.htc); 
} 
+1

'css3pie:stuff'宣言はOPの' behavior:url(pie.htc) 'の解釈です。 –

1

必要な要素に対して動作を宣言するだけです。私の場合、私はパイを必要とする要素に追加pieクラスを持って、このように私のCSSを宣言:

.ie6 .pie, .ie8 .pie, .ie9 .pie { behavior: url(pie.htc); } 

するか、調整します

.pie { behavior: url(pie.htc); } 

をあなたのケースでは、あなたはこれを行うことができます定型条件付きコメントIE 6、8、図9に.ienot7クラスを追加するには:

<!--[if lt IE 7 ]> <html class="ie6 ienot7"> <![endif]--> 
<!--[if IE 7 ]> <html class="ie7"> <![endif]--> 
<!--[if IE 8 ]> <html class="ie8 ienot7"> <![endif]--> 
<!--[if IE 9 ]> <html class="ie9 ienot7"> <![endif]--> 
<!--[if (gt IE 9)|!(IE)]><!--> <html class=""> <!--<![endif]--> 
.ienot7 .pie { behavior: url(pie.htc); }
0

セットIE7のみで例:

.classname { 
    behavior: url(pie.htc); 
} 
.ie7 .classname { 
    behavior: ''; 
} 

これは、HTMLを変更する必要がないため、良いことです。

関連する問題