1

IE9での CSSfloat処理に問題があります。Firefox、Chrome、Opera などではメイン ページが正しく表示されますが、IE9 ではヘッダーと残りのコンテンツの間に空白が表示されます。

このスペースは、左右のクラスの 2 つの要素によってトリガーされます (DOM での位置: body-> #wrapper-> #container-> .left) .right。それらはそれぞれ持っていfloat: leftfloat: right設定していますが、IE9では.middledivを押し下げています。それらを設定display: noneすると役立ちますが、それらの div がいつコンテンツを取得するかを完全に制御できないため、実行可能な解決策ではありません。

最小限の例を作成しようとしましたが、この jsFiddleは IE9 で正常に動作します。何がバグを引き起こす可能性がありますか?

事前に助けてくれてありがとう。

4

1 に答える 1

0

IE の開発ツールを使用すると、.middle は実際にはプッシュされず、その中の .jimgMenu です。overflow: hidden を削除すると、IE9 と Firefox が同じように動作することがわかります。コンテンツ エリアを移動させているのは、間違いなくフロートです。オーバーフローを使用する代わりに clearfix を試しましたか?

正直なところ、.left と .right がそのように横にくっついている場合は、おそらく絶対に配置する必要があります。彼らは何を含んでいますか?なぜ彼らはコンテンツの後ろに浮かんでいると思われるのですか? おそらく、HTML を構造化する最良の方法ではありません。

于 2012-09-05T17:16:21.857 に答える