0

ページが正しく表示されない理由を突き止めようとしています。

「ドキュメント モード: IE7 標準」または「ドキュメント モード: IE8 標準」でページを表示すると、ブラウザでページが正しくレンダリングされないことに気付きました。次に示すように、ページ ナビゲーションに問題があるようです。

不適切なレンダリング

「ドキュメント モード: IE9 標準」に変更すると、ページは次のように正しく表示されます。

正しいレンダリング

どうすればこれを修正できますか?ありがとうございました。

4

2 に答える 2

3

あなたのコードは明らかに、IE8 または IE7 でサポートされていない CSS スタイルまたはその他のブラウザー機能を使用しています。

コードが提供されていないため、これらの機能が何であるかを正確に伝えることはできませんが、これらの古いブラウザーをサポートする必要がある場合は、これを回避する方法を講じる必要があります.

最初のこと: IE9 互換モードでこれを見ていると述べています。IE7/8 をサポートする必要がない場合はx-ua-compatible、次のようにメタ タグを指定して、IE9 が互換モードに入らないようにすることができます。

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

これにより、IE は可能な限り最適なレンダリング モードで実行されます。したがって、IE9 は互換モードではなく、IE9 標準モードを使用します。

ただし、IE7 と IE8 をサポートする必要がある場合は、次のいずれかを行う必要があります。

  • ブラウザで動作するようにコードを修正してください。
  • コードで動作するようにブラウザーを修正します。

前述のように、コードを提供していないため、最初の点についてはお手伝いできませんが、2 番目のオプションは検討する価値があるかもしれません。

古いブラウザー (特に IE) で新しいブラウザー機能をエミュレートすることを目的とした Javascript ハッキングが多数あります。これらのハックは「ポリフィル」として知られており、 https ://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills でかなり包括的なリストを見つけることができます。

コードを壊しているブラウザの機能を突き止めることができれば、関連するポリフィルをコードに実装することができます。異なるポリフィルは非常に異なる方法で動作するため、詳細を知らずにそれ以上のヘルプを提供することはできませんが、ほとんどのポリフィルには、開始するのに十分なドキュメントがあります.

最後に、1 つの注意事項: サイトが IE9 の互換モードを使用して IE7/8 で動作することをテストしている場合は、注意してください。 IE7 または IE8 の実際のコピー。コードがこれらのブラウザーで実際に動作することを確認せずに、そのコードが機能していることを完全に確信することはできません。互換モードは、確かに十分ではありません。

それが役立つことを願っています。

于 2012-10-13T20:31:13.500 に答える
0

Internet Explorer の各バージョンには、当時の標準に対する完全に異なるレベルのサポートがあります。一般に、以降の各バージョンには、当時の標準のより優れた、より完全な実装がありますが、IE は、欠落、不完全、または不正確な標準実装のいずれかで非常によく知られています。

古いバージョンを反映するようにディスプレイ設定を変更すると、新しいバージョンが持つであろう新しいサポートも失われます。たとえば、IE7 は CSS3 機能をサポートしていないため、これらの機能を正しく表示できません。

古いドキュメント モードに切り替えることができる背景には 2 つの考えがあることを忘れないでください。平均的なユーザーにとっては、特に古いブラウザを念頭に置いて設計されたページを正しく表示できるようになることです (現在のブラウザのように)。開発者/ウェブマスターにとっては、古いバージョンのブラウザをまだ実行している古いマシンをまだ使用している可能性があるユーザーのサポートをテストすることです。

また、より具体的なヘルプが必要な場合は、コードを編集するか、JSFIDDLE.net などのサイトを使用してリンクを提供することをお勧めします。

于 2012-10-13T20:13:56.033 に答える