HTML-CSS div比孩子高3px

use*_*628 6 html javascript css

我正在开发一个项目,该项目使用同一个类的几个div,每个div包含一个子元素,可能是一个未指定高度的图像或iframe.我希望容器div正好是其子元素的高度,但默认高度比子高3px.

我有一个JSfiddle在http://jsfiddle.net/52me041n/2/上演示了这个问题.

HTML:

<div class="outside">
    <img class="inside" id="pic" src="https://images.duckduckgo.com/iu/?u=http%3A%2F%2Fblogs.cisco.com%2Fwp-content%2Fuploads%2Fclouds.png&f=1" height="200px"/>
</div>
<br/>
<div class="outside">
    <iframe class="inside" width="420" height="315" src="//www.youtube.com/embed/VwTnyRHEZSQ" frameborder="0" allowfullscreen></iframe>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.outside{
background-color: red;
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以用CSS将div设置到合适的高度,如果没有,如何用JS来改正它.

Suj*_*wal 14

更新了小提琴.http://jsfiddle.net/52me041n/3/

使用 -

img, iframe {
    display: block;
}
Run Code Online (Sandbox Code Playgroud)

  • @user1576628 内联元素下方有空间为 [descenders](https://en.wikipedia.org/wiki/Descender) 留出空间。 (3认同)
  • 默认情况下,图像和 iframe 显示为 INLINE,并向底部添加一些间隙。为了避免这种情况,我们显示为块:)简单 (2认同)