水平方向に中央揃えの div に iframe を配置しようとしています。Firefox では正常に動作しますが、IE8 では動作しません。ここに私の完全なコードがあります:
<!-- <!DOCTYPE HTML> -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head></head>
<STYLE type="text/css">
body {
background-color: silver; }
#container {
align: right;
margin: 0;
width: 600px;height: 100%;
margin: 10px auto;
background-color: white;
}
#top {
height: 300px;
background-color: yellow; }
#midpart {
width:100%;
height:100%;
background-image:none;
background-color: blue; }
</style>
<body>
<div id="container">
<div id="top">
<iframe src="aa.htm" id="midpart" scrolling="yes" frameborder="1"></iframe>
</div>
</div>
</body></html>
IE8 では、上記のコードは、水平方向に中央揃えされていない div を生成します。それ以外は問題ありません。意図したとおり、iFrame div は画面の約 100% を占めます。長いDoctypeバージョンを使用していることに注意してください
最初の doctype 行 (短い行) を使用すると、IE8 は div を中央揃えにしますが、div/iframe の高さが正しくありません。
他の回避策はありますか?