私は自分のページでiframeを使用していますが、奇妙な問題に出くわしました。 iframe cssを次のように設定します
iframe {
margin: none;
padding: none;
background: blue; /* this is just to make the frames easier to see */
border: none;
}
ただし、iframeを囲む空白がまだあります。 ChromeとFirefoxでテストしましたが、同じです。周りを検索したところ、何も見つかりませんでした。この空白は、Chrome console。また、次のCSSも既に持っています。
html, body {
margin: 0px;
padding: 0px;
border: 0px;
width: 100%;
height: 100%;
}
JSFiddle: ここ
あなたのフィドルを見たのは、display:inline-block
を使用しているためです。これにより、HTMLの空白が考慮されます。 display:inline-block
は難しいことで有名で、危険なブラウザをサポートしています。
オプション1:htmlの空白を削除してみて、問題をソートできる場合があります。
オプション2:display:block
などの異なる表示プロパティを使用すると、間違いなく問題がソートされます。ライブの例: http://jsfiddle.net/mM6AB/3/
インライン要素を使用している場合、空白は要素が含まれる「行」(つまり、ベースラインの下のスペース)からのものである可能性があります。解決策は、これを親要素に追加することです。
line-height: 0;
iframe { display:block; }
iframeはインライン要素です
私は同じ問題を抱えていたので、フレーム要素をフローティングにして修正しました
iframe {
margin: none;
padding: none;
border: none;
line-height: 0;
float: left;
}
たぶん、その空白は実際にはにロードされたドキュメントの外側のマージンです。ロードされたドキュメントのスタイリングを試してください(CSSスタイリング(ソースページ)):
html, body {
border: 0px;
margin: 0px;
padding: 0px;
}
stackoverflow.comから引用 ここ
overflow: hidden;
を囲む<iframe>
でdivを使用してみてください。
<div style="height: 29px; overflow: hidden;">
<iframe frameborder=0 allowtransparency=yes scrolling=no src="../hng_frames/copyright_part.html" width="980" height="30">
<p>Your browser does not support iframes.</p>
</iframe>
</div>
あなたのHTMLコンテンツなしでは解決するのは少し難しいですが、これを試してみてください:
iframe {
margin: 0px !important;
padding: 0px !important;
background: blue; /* this is just to make the frames easier to see */
border: 0px !important;
}
html, body {
margin: 0px !important;
padding: 0px !important;
border: 0px !important;
width: 100%;
height: 100%;
}
!important
を追加すると、スタイルが強制されます。私の推測では、スタイルは相互に上書きしているのです。
与えられた答えのどれも私に解決策を提供しなかったので(iFrameを実装するときに奇妙なマージンの問題に出くわしました)、私はこれがうまく機能していることがわかりました:
<iframe frameborder="0" marginwidth="0" marginheight="0" src="/something"></iframe>
marginwidthおよびmarginheightは有効ではない/公式にサポートされているHTML5タグですが、テストでは問題なく動作します...