【问题标题】:When I put a div around an image, why is there spacing at the bottom? [duplicate]当我在图像周围放置一个 div 时,为什么底部有间距? [复制]
【发布时间】:2017-08-02 05:00:41
【问题描述】:

以这个小提琴为例:https://jsfiddle.net/ou33muc2/

<div class = "overallDiv">
<div id="example"><img src = "http://writingexercises.co.uk/images2/randomimage/slimy.jpg" style="width:100vw; opacity: 0.5;"/></div></div>

我不明白为什么图片周围的div和上、左、右的图片之间没有空隙,但是底部有空隙,如红色边框所示。

此外,我怎样才能删除它,以便 div 紧贴整个图像?

编辑:我知道在图像周围有一个 div 周围有一个 div 似乎有点毫无意义,但这是一个按比例缩小的问题,问题仍然适用,所以请忽略它的实用性。

【问题讨论】:

  • 我大胆猜测这是由于浏览器实现的默认样式。也许尝试使用 CSS reset 运行?
  • 您能否提供有关如何执行此操作的见解?
  • 这里已经回答了很多次了,简单的谷歌搜索div gap img会给你很多结果,你应该研究而不是问完之后再问

标签: html css


【解决方案1】:

因为图像在基线处垂直对齐 - 通常放置文本的位置。并且在基线下方有空间,用于带有“下降”的字母,如 j、g、p 等。

为避免这种情况,只需将line-height: 0; 添加到容器中:

https://jsfiddle.net/5czathrh/1/(编辑:更新)

【讨论】:

  • 效果很好,解释很好。
【解决方案2】:

这是文本下降空间(“基线”下方的区域)。如果您在图像上设置display: block,您可以使用更传统的边距/等值对其进行布局。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 2020-04-09
    • 2019-10-27
    • 2016-02-18
    • 1970-01-01
    • 2014-08-10
    相关资源
    最近更新 更多