私が管理しているサイトの FF/IE8/Chrome (たとえば、このページ) に小さなレイアウト バグがあることに気付きました。
サイトを乗っ取ったときになぜ気づかなかったのだろうと思っていましたが、IE7 を IE8 にアップグレードしてから明らかになったことに気付きました。
これらの「適切な」ブラウザの場合、IE7 (およびそれ以下) が必要とする 56px とは対照的に、この絶対位置の画像では top 属性を 59px に設定する必要があります。
解決策は簡単ですが、a) まず問題を理解したい、b) さまざまな解決策を検討したい (複数の解決策があることはわかっています)。それを念頭に置いて...
- 問題の原因は何ですか?
多くのポジショニングの問題は、誤った IE ボックス モデルが原因でしたが、これは IE7 で修正されたと思いました。まだ IE7 に影響するのはボックス モデルの問題ですか、それとも別の何かですか?
- 最善の解決策は何ですか?
多くのソースは、条件コメントを使用して IE7 パッチ CSS ファイルをインクルードする方法を提案しています。
<!--[if lte IE 7]>
<link href="IE7Fix.css" rel="stylesheet" type="text/css">
<![endif]-->
簡単ですが、サイトのすべてのページのヘッダーにそれを挿入する必要はありません (もちろん、必要に応じて挿入します)。
おそらく仕事をすることができるCSSハックがたくさんあることは知っていますが、特に新しいブラウザが出現するにつれて、保守が難しくなるため、CSSを避けるべきだと言う学校の考えがあります. 私は確かにこの考え方に共感できます。ただし、このサイトは 3 か月以内に完全に再開発されるため、短期的な解決策を検討しています。CSS ハックを使用することを選択した場合、IE7 以下の動作を変更するには何をする必要がありますか?
私はまた、良いリセット スタイルシートがこれらの問題の多くを回避できることも読んだので、笑いのために、Eric Meyer のReset Reloadedスタイルシートを適用しました。
要約すると、問題は正確には何ですか。問題の短期的な性質を考慮して、最良の長期的な解決策は何ですか?また、どの解決策が展開するのが最も簡単でしょうか?
CSS ('Banner02'): http://new.eminox.com/_lib.css/content.css