10

私は自分のページで次のHTML5要素を使用しています:ヘッダー、記事、セクション、ナビゲーション。これで、上記のすべてのHTML5要素をdisplay:blockとして設定し、ヘッダーに条件ステートメントを含むHTML5shivを含めました。

<!--[if lt IE 9]>
<script src="dist/html5shiv.js"></script>
<![endif]-->

このサイトはIE7とIE8で正常に機能します。これは、html5shivが実際に魔法のように機能していることを示しています。ただし、IE9でサイトをテストすると、HTML5要素内のすべてのコンテンツのスタイルが不足しています。

条件文を次のように変更するとすぐに:

<!--[if IE]>
<script src="dist/html5shiv.js"></script>
<![endif]-->

html5要素とその子に、正しいスタイルが適用されるようになりました。IEバージョンを再確認したところ、IEバージョン9.0.8112.16421があると表示されます。

また、サイトはPHPで構築され、PEARのCache_Liteを使用してキャッシュされていることにも言及する必要があります。ただし、単純な静的htmlページで実行したテストでは、同じ結果が得られます。

何か案は??

4

2 に答える 2

29

私はついに問題が何であるかを理解することができました。サイトの上部、doctypehtmlタグの前にコメントがありました。これは、HTML5要素を認識するIE9の機能を壊しているようです。

これは私が持っていたものです:

<!-- Served From Cache: Wednesday 13th of February 2013 03:02:22 PM -->
<!DOCTYPE html>
<html>
    <head>

そのため、コメントをDoctypeの下に移動することで、これを修正することができました。

于 2013-02-15T13:49:58.683 に答える
0

このコードを試してください

<!--[if lt IE 9]>  
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>  
<![endif]--> 
于 2013-02-15T12:07:18.217 に答える