0

水平方向に中央揃えの 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 の高さが正しくありません。

他の回避策はありますか?

4

3 に答える 3

0

次のスタイルを本体に追加します...

text-align:center;
于 2012-11-07T15:34:30.133 に答える
0

#container に 'margin: 10px auto' と 'align:right' を入れるつもりだったのですか?

于 2012-11-07T15:34:43.640 に答える
0
position:relative;
margin:0 auto;

top の id に対して水平方向に中央揃えされた div を生成する必要があります。width および height 属性を使用して、iframe で幅と高さを直接設定できます。

于 2012-11-07T15:35:24.833 に答える