0

私の友人はウェブサイトのボランティア活動をしており、先日問題を抱えて私のところに来ました。特に IE8 を使用している一部のユーザー (回答したユーザーのうち) は、ページ レイアウトが適切に表示されていないようです。このスクリプトは、css の前の最上部にあるすべてのページのヘッダーにあります。彼が見せてくれたスクリーンショットを見ると、IE が CSS を無視し、ウェブサイトのセクションを重ねていることがわかります。理由についてのアイデアはありますか?

<!--[if IE]>
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

助けてくれてありがとう。

4

1 に答える 1

0

適切な回答を得るには、おそらくそのサイトを確認する必要がありますが、トラブルシューティングに役立ついくつかのアイデアを以下に示します。

  1. ユーザーは JavaScript を有効にしていますか? それがなければ、そのスクリプトはまったく機能しません。これを回避する唯一の方法は、サイトのユーザーにとって ie8 のサポートが非常に重要でない限り、最適なオプションではない html5 を使用しないことです。
  2. ページに JS エラーはありますか? 読み込みを妨げている可能性があります。
  3. そのjsファイルをダウンロードして、Googleからではなくローカルにロードしてみてください。クロスドメイン リクエストが問題を引き起こす場合があります。Google からの読み込みで問題が発生したことはありませんが、試してみてください。一部のブラウザでは、異なる方法で処理されます。ウィキペディアを参照してください:同一オリジン ポリシー
  4. また、そのファイルが問題であることを確認することもできます。たぶん、他にも奇妙なことが起こっているのでしょう。ie8 は html5 要素を認識しないため、スタイルを設定しません。それがレイアウトの問題である場合は、おそらくそのファイルです。

もう一つ。スタイルシートで html5 リセットを使用して、html5 要素を 'display:block' に設定することを忘れないでください。それがないと正しく動作しない場合があります。

編集: コメントで言及した内容の例を次に示します。

HTML ファイル内:

<div class="container">
    <section id="left"><!-- sidebar --></section>
    <article><!--  content --></article>
</div>

スタイルシートで:

.container{
    position:relative;
}

section#left{
    position:absolute;
    top:0;
    left:0;
}
于 2012-08-07T16:41:05.660 に答える