高度为 0 的 iframe 会产生间隙



当我在正文后面添加 iframe 时,它会导致上边距。有人可以解释一下吗?iframe 没有高度,也没有边距。

*, html, body {
  margin: 0;
  padding: 0;
  border: 0;
}
iframe {
  margin: 0;
}
body {
  background: gray;
}
<iframe width="0" height="0" frameborder="0" scrolling="no" vspace="0" hspace="0" marginheight="0" marginwidth="0" src=""></iframe>
<div style="background: red;">TEST</div>

看小提琴:http://jsfiddle.net/pLja65pc/1/

Iframe 是一个内联元素,因此它将创建一个行框。行框的高度将等于行高(对于 16px 字体为 ~18px)或更高(如果 iframe 高于字体大小)。

将 iframe 更改为 display: block,并将创建一个具有所需高度的块框。

display: block;添加到 iframe

*, html, body {
    margin: 0;
    padding: 0;
    border: 0;
}
iframe {
    margin: 0; 
    display: block;
}
body {
    background: gray;
}
<iframe width="0" height="0" frameborder="0" scrolling="no" vspace="0" hspace="0" marginheight="0" marginwidth="0" src=""></iframe>
<div style="background: red;">TEST</div>

请使用 iframe CSS 的显示块谢谢

最新更新