不要なスクロールバーを追加するFirefoxに問題があります(ChromeとIEで問題なく動作します)。
次の 2 つのファイルを参照してください: page.html と iframe.html。
Page.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:fb="http://www.facebook.com/2008/fbml" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
#myframe {
height: 550px;
overflow: auto;
width: 665px;
}
</style>
</head>
<body style="background-color:#dcdcdc;">
<iframe id="myframe" frameborder="0" marginwidth="0" marginheight="0" scrolling="auto" src="iframe.html" style="display: inline;">
</iframe>
</body>
</html>
Iframe.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style>
html {
direction: rtl;
}
</style>
</head>
<body>
<div style="width: 665px; height: 537px; background-color: blue;">
x
</div>
</body>
</html>
Firefox v30 では、常に垂直および水平スクロール バーが表示されます。iframe.html のコンテンツのサイズは、iframe タグのサイズと同じです。
iframe.html ファイルで direction:rtl タグを使用することに問題を絞り込みました。direction:rtl を追加すると、スクロールバーが表示され、それを削除すると問題が解決します。
理由はありますか?
iframe で scrolling="no" を使用せずにこれを修正するにはどうすればよいですか?
編集: overflow:hiddenを追加することが解決策だとは思いません。コンテンツは「オーバーフロー」してはなりません-親よりも小さいです。また、コンテンツが長い場合に備えて、コンテンツがオーバーフローしてスクロールバーを表示するオプションが欲しいです。
ご協力いただきありがとうございます :)