2012-01-18 5 views
3

私は比較的多くのコンテンツを持つページにdiv2個あり、border-radius(ベンダー固有のプレフィックスバージョンを含む)CSSプロパティが適用されています。 FirefoxとChromeの両方で問題なく処理できますが、IE 9では非常に遅いです。それを無効にするだけで、ページを少なくとも5倍高速化することができます。IE9でスピードアップした角を

IE 9でスピードアップする方法はありますか?私が気づいている間に、私はおそらくバックグラウンドイメージと追加のマークアップを使って古いスタイルをシミュレートすることができますが、あまり目立たないソリューションを探しています。

+0

'behaviour'と' htc'ファイルを使ってIE8の回避策がありますが、IE9で動作すると思いますが、ネイティブの実装よりも速いとは思えません。 http://dimox.net/cross-browser-border-radius-rounded-corners/ – Parzifal

答えて

2

@Parzifalは既に言及したように、border-radiusなしでIEで丸いコーナーを作成するためのよく知られた回避策があります。それらは特定のクラスにいくつかのjavascriptコード(ビヘイビアまたは式を介して)を添付することに基づいています。このコードは、追加のDOM要素を追加するかVMLマークアップを追加するかに関係なく使用します。

このアプローチは、画像を使用せずに、丸い角を動的に作成する実際の方法が実際にはないという点で推奨されています。このアプローチは徹底的なテストを必要としますが、少なくともさらに苦痛を伴うサポートと開発を行います。

どのように正確にプロファイリングしているのかわかりませんし、どのステージがボトルネックであるのでしょうか。私はコーナーを丸くして、スクロールも遅くして、何をアドバイスするのか分からない。

ページの読み込みについてのみ問題がある場合は、通常どおりにすべてを読み込むことができますが、丸い角はまったく使用できません。次に、javascriptでは、DOMContentLoadedを聞き取り、角が丸い既存のCSSルールを指定することができます。

言って、あなたは丸い角を持つ定義済みのクラスを持っている、コードは次のようになります。

$('.there-should-be-rounded-corners').addClass('and-here-come-rounded-corners'); 

、もう一度質問を調査します。確かに100%は助けになるだろうが、少なくとも試してみる価値はある。

+0

実際には、ページが読み込まれた後でも遅くなるので、レイアウト/ロードではなくペイントのようです。 –

+0

@トマスバナはどんな意味で遅いのですか?スクロール中にCPUオーバーヘッドや何がありますか?あなたが質問を編集する場合は、すぐに役に立つ助言を受ける機会があります。 – shabunc

+0

何かに触れようとすると一般的にゆっくりした感覚でゆっくりとスクロールします。私は再塗装が何らかの理由で長すぎると思っています。とにかくヒントをありがとう;) –

関連する問題