3

Firefox、SeaMonkey、Chrome、Opera、Safari、Camino、IE8で私の学校用に構築した小さなサイトをテストしたところ、私のサイトの絶対的に位置づけられたdivはすべて一貫していました。IE6と7絶対配置のバグ

しかし、私がIE6と7でサイトのテストを開始したとき、すべてのdivが適切でなく、ページ全体で乱雑です。

私はグーグルの2週間を費やして問題の原因を突き止めましたが、この問題を解決するための一貫した方法はまだ見つかりません。

うまくいけば、私の英語はあまり良くない場合は申し訳ありませんが、私の第三言語です。

さらに詳しい説明が必要な場合は、お気軽にお問い合わせください。

何かすべての助けがありがとうございます。

ありがとうございます。

注:上記のように、私は多数の解決策や類似の質問があることを認識していますが、この状況で動作するものは見つかりませんでした。

UPDATE:ズームプロパティは、私が持っていた問題のほとんどを修正しました。hasLayoutは大きな痛みを感じています。ありがとうSpudlyとPatrik

+1

適切なdoctypeがありますか?それがなければ、IEは多くのCSSを無視します。 – GrandmasterB

+0

HTML5のDoctypeを使用しました。これは下位互換性があると信じていました。代わりにHTML4 Doctypeを使用する必要がありますか? –

+0

私は様々なDoctypesで遊んだだけで、問題は依然として続きます。その他のアドバイスは? –

答えて

5

これは古典的な "HasLayout"バグのように聞こえます。これは、古いバージョンのIEをサポートしなければならないすべてのWeb開発者の生活の中での悩みの1つです。

HasLayoutは、各要素に対してIEが保持する内部フラグで、通常表示または奇妙なグリッチを表示するかどうかを決定します。実際にはそれは本当にそこにあるものではありませんが、それはその効果を持つようです。

問題を解決する方法は、問題の要素にHasLayoutフラグを取得させることです。残念ながら、IEはこれを直接行う方法を提供していません。それをトリガーするスタイルを適用する必要があります。

一般的に、人々はこれを適用することを選択したスタイルが、この理由は、zoomはIE固有のスタイルシートの属性であり、したがって、これは、他のブラウザには影響しない、とすることを第一にしている

.myelelement { 
    zoom:1; 
} 

です第2に、zoom:1;がデフォルト値であるため、実際に要素について何も変更していないからです。それにもかかわらず、それは依然として要素がHasLayoutフラグを取得するようにトリガし、したがってあなたの問題を解決するはずです。

希望に役立ちます。

+0

ありがとうございました。 –

+0

6年であり、まだまだ有益です。 –

2

あなたの問題を引き起こすかもしれない古いIEのいくつかのレイアウトプロパティでいくつかのバグについて聞いたことがあります:既にそれについての類似のトピックがあります:link。試してみてください、私は絶対的な配置に問題があるとは思わない、それは親の相対配置要素のバグかもしれない。

+0

ありがとうございました。私は両方の答えを受け入れることが好きでしたが、Spudleyはすぐに働きました。 –