2011-08-03 15 views
0

私はフレームセットを持ち、各フレームはwidth:100%のテーブルを持っています。 IE 8と9では、テーブルはウィンドウ全体を埋めるわけではなく、代わりに奇妙な右マージンを持っています。他のすべてのブラウザでうまくいきました。IEはフレーム内のスクロールバーのスペースを予約します

space reserved for scrollbar

私はそれがマージン/パディングに関連していないことを確認したと私はコントロールパネルでスクロールバーの幅を変更した場合、予約済みのスペースがあまりにも変化するため、スクロールバーを行うことです。ページがフレーム外で表示される場合、この問題は発生しません。

これはレイガシコードです。各フレームはscrolling=autoです。

しかし、私はまだ解決策を見つけることができません。インターネットから私は2回の関連する議論を見ました。ページの本文にscroll=noを追加するとスペースがなくなりますが、必要に応じてスクロールバーが表示されなくなります。私は他のいくつかのソリューションを試しましたが、まだ完全に機能するものを見つけることはできません。

EDIT:これは垂直分割フレームでのみ発生します。

サンプルコード:

index.htmlを

<html> 
<frameset rows="150,*" cols="*" framespacing="0" border="0" frameborder="no"> 
<frame scrolling="auto" noresize src="top.html" name="menu"> 
<frame scrolling="auto" noresize src="bottom.html" name="main"> 
</frameset> 
</html> 

のtop.html

<html> 
<body marginwidth=0 marginheight=0 leftmargin=0 topmargin=0 bgColor="#AAFFAA"> 
<table cellspacing=0 cellpadding=0 width="100%" border=1> 
<tr> 
<td width="100%" align=middle>TOP<td> 
</tr> 
</table> 
</body> 
</html> 

のbottom.html

<html> 
<body marginwidth=0 marginheight=0 leftmargin=0 topmargin=0 bgColor="#FFAAAA"> 
<table cellspacing=0 cellpadding=0 width="100%" border=1> 
<tr> 
<td width="100%" align=middle>bottom<td> 
</tr> 
</table> 
</body> 
</html> 
+0

を追加

試みは、溶液中に役立ちます。 –

答えて

2

は申し訳ありませんが、私はカント質問の下のコメント。

スクロールをオーバーフローで置き換えようとしましたか?あなたのコード/サイトを投稿スタイルoverflow: auto:またはoverflow-x: auto; overflow-y: hidden;

+0

はい、動作します。私の発見をあなたの答えに加えてもよろしいですか? 最後に、 'style =" overflow:auto "をサブページのbody要素に置くことで、問題が解決されることがわかりました。 ' lulalala