2012-01-06 13 views
3

私はCSS3 PIEを使用してIE7/8に丸められたコーナーのサポートを追加しています。私は丸いコーナーのあるページに多くの要素があると、PIEが有効になっていると、IE9のパフォーマンスがかなり低下することがわかりました。スクロールが遅くなり、単純なホバー効果(リンクの色の変化など)が大幅に遅れます。CSS3 PIE:丸められたコーナーはIE9の速度を遅くします。たとえサポートしていても、

PIE独自のドキュメントによれば、ブラウザがネイティブに使用している特定のCSS3機能をサポートしている場合、PIEはIE9で「何もしません」。理論的には、border-radius(IE9がサポートする)だけを使用している場合、PIEを有効にするとパフォーマンスに影響はありません。

この原因は何ですか?

答えて

2

私はPIEが適用され、これはそれがIE7/8と同等のだ点まで、かなりIE9をスピードアップしていたページ上のすべての要素に-pie-poll: false;を追加しました。私はデフォルトでPIEがアップデートのために250msごとにすべての要素をポーリングすると信じています。 -pie-pollからfalseに設定すると、要素がレンダリングされるか、または相互作用するまで更新が行われなくなります。

これはまだ説明しませんなぜ PIEはIE9の非ネイティブCSS3機能を使用していないポーリング要素ですが、問題を解決します。

0

条件付きコメントを使用してみてください。IE9はコードを読み込まないためです。

<!--[if lte IE 8]> 
    // CSS3 pie scripts 
<![endif]--> 
+0

私はそれを考慮しましたが、IE9でもPIEを使用できるようにするために、線形グラデーションのようにネイティブにサポートしていない機能が必要でした。 – daGUY

関連する問題