2

これはCSS3PIEを使用するためのcssです

border: 1px solid #696;
padding: 60px 0;
text-align: center; width: 200px;
-webkit-border-radius: 12px;
-moz-border-radius: 12px;
border-radius: 12px;
background: #EEFF99;
behavior: url(/PIE.htc);

特に

behavior: url(/PIE.htc);

私の質問は、このPIE.htcはすべてのブラウザでダウンロードされるのでしょうか、それともIE7と8でのみダウンロードされるのでしょうか。

IE7と8でも丸い角を表示する必要があります。だから私は、Modernizrを使用して別のクラスと丸い角の画像を書く代わりに、CSS3 PIEが良い解決策になると思いました。なぜなら、境界線の色と太さ、要素の高さを変更するたびに、PIE.htcはIE7と8で同じようにレンダリングされるからです。 。ただし、Modernizrと画像の場合は、新しい画像のアップロードを使用する必要があります。新しい変更を変更してアップロードする必要があります。

そして、私はこれにのみModernizrを使用しているので、条件付きコメントをロードすることはできません。必要がなくても、すべてのブラウザーにロードされます。したがって、CSS3 PIEが柔軟性に優れていて、IE7と8にのみロードされる場合は、この特定のケースで使用するのがよいと思いました。

4

1 に答える 1

9

behaviorは有効なCSSプロパティではなく、InternetExplorer以外のブラウザでは無視されます。PIE.htcファイルはダウンロードされません。

条件付きコメントをロードできないとおっしゃっていますが、条件付きコメント(?)を使用できる場合は、次のトリックを実行できます。

<!doctype html>
<!--[if IE 7]><html class="ie7"><![endif]-->
<!--[if IE 8]><html class="ie8"><![endif]-->
<!--[if gt IE 8]><!--><html><!--<![endif]-->
<head>

この場合、条件付きコメントを使用していますが、コメント内には何もロードしていません。<html>-elementにブラウザ固有のクラスを追加するだけです。これで、CSSでこれを行うことができます。

.some-class {
  border-radius: 12px;
}
.ie7 .some-class, .ie8 .some-class {
  behavior: url(/PIE.htc);
}
于 2011-12-17T15:19:16.903 に答える