为什么在以下代码中div的高度大于img的高度? 图像下方有一个缝隙,但似乎不是填充/边距。

图像下方的间隙或多余空间是多少?

 #wrapper { border: 1px solid red; width:200px; } img { width:200px; } 
 <div id="wrapper"> <img src="http://i.imgur.com/RECDV24.jpg" /> </div> 


#1楼

也可以使父母的行高无效:

#wrapper {line-height: 0;
}

所有修复: http : //jsfiddle.net/FaPFv/


#2楼

我刚刚在div中添加了float:left ,它起作用了


#3楼

我使用line-height:0 ,它对我来说很好。


#4楼

我发现使用display:block效果很好。 在图像上和vertical-align:top; 在文字上。

 .imagebox { width:200px; float:left; height:88px; position:relative; background-color: #999; } .container { width:600px; height:176px; background-color: #666; position:relative; overflow:hidden; } .text { color: #000; font-size: 11px; font-family: robotomeduim, sans-serif; vertical-align:top; } .imagebox img{ display:block;} 
 <div class="container"> <div class="imagebox"> <img src="http://machdiamonds.com/n69xvs.jpg" /> <span class="text">Image title</span> </div> <div class="imagebox"> <img src="http://machdiamonds.com/n69xvs.jpg" /> <span class="text">Image title</span> </div> <div class="imagebox"> <img src="http://machdiamonds.com/n69xvs.jpg" /> <span class="text">Image title</span> </div> <div class="imagebox"> <img src="http://machdiamonds.com/n69xvs.jpg" /> <span class="text">Image title</span> </div> <div class="imagebox"> <img src="http://machdiamonds.com/n69xvs.jpg" /> <span class="text">Image title</span> </div> <div class="imagebox"> <img src="http://machdiamonds.com/n69xvs.jpg" /> <span class="text">Image title</span> </div> </div> 

或者您可以将代码编辑为JS FIDDLE


#5楼

快速解决:

消除图像下方的间隙 ,您可以:

  • 设置图像的vertical-align属性为vertical-align: bottom; vertical-align: top;vertical-align: middle;
  • 将图像的显示属性设置为display:block;

请参见以下代码进行实时演示:

 #vAlign img { vertical-align :bottom; } #block img{ display:block; } div {border: 1px solid red;width:100px;} img {width:100px;} 
 <p>No fix:</p> <div><img src="http://i.imgur.com/RECDV24.jpg" /></div> <p>With vertical-align:bottom; on image:</p> <div id="vAlign"><img src="http://i.imgur.com/RECDV24.jpg" /></div> <p>With display:block; on image:</p> <div id="block"><img src="http://i.imgur.com/RECDV24.jpg" /></div> 

说明:为什么图像下方有缝隙?

图像下方的间隙或多余空间不是错误或问题,它是默认行为。 根本原因是图像被替换为元素( 请参见MDN和W3C )。 这使他们可以“像图像一样行动”,并具有自己的固有尺寸,长宽比。
浏览器计算它们的显示属性inline但是它们给它们一种特殊的行为,使它们更接近inline-block元素(因为您可以垂直对齐它们,给它们提供高度,顶部/底部边距和填充,转换...)。

这也意味着:

[...]当图像在具有vertical-align:基线的嵌入式格式化上下文中使用时,图像的底部将摆放在容器的基线上 。 ( 来源: MDN ,重点是我的

由于浏览器默认将vertical-align属性计算为基线,因此这是默认行为。 下图显示了基线在文本上的位置:

如上图所示,基线对齐元素需要留出延伸到基线以下的下降空间(如j, p, g ... )。 在此配置中, 图像的底部在基线上对齐,如本例所示:

 div{border:1px solid red;} img{width:100px;height:auto;} 
 <div> <img src="http://i.imgur.com/RECDV24.jpg" />jpq are letters with descender </div> 

这就是为什么<img>标记的默认行为会在其容器的底部创建间隙的原因,以及为什么更改vertical-align属性或display属性将其删除的原因,如以下演示所示:

 div {width: 100px;border: 1px solid red;} img {width: 100px;height: auto;} .block img{ display:block; } .bottom img{ vertical-align:bottom; } 
 <p>Default:</p> <div> <img src="http://i.imgur.com/RECDV24.jpg" /> </div> <p>With display:block;</p> <div class="block"> <img src="http://i.imgur.com/RECDV24.jpg" /> </div> <p>With vertical-align:bottom;</p> <div class="bottom"> <img src="http://i.imgur.com/RECDV24.jpg" /> </div> 

#6楼

您所要做的就是分配此属性:

img {display: block;
}

图像默认具有此属性:

img {display: inline;
}

#7楼

您可以使用多种方法来解决此问题,例如

  1. 使用line-height

     #wrapper { line-height: 0px; } 
  2. 使用display: flex

     #wrapper { display: flex; } #wrapper { display: inline-flex; } 
  3. 使用display: blocktableflexinherit

     #wrapper img { display: block; } #wrapper img { display: table; } #wrapper img { display: flex; } #wrapper img { display: inherit; } 

#8楼

默认情况下,图像以字母形式内联呈现。

它与a,b,c和d位于同一行。

在该行下面有空间,您可以找到f,j,p和q之类的字母的后代。

您可以调整图像的vertical-align方式以将其放置在其他位置(例如, middle ),也可以更改display以使其不嵌入式。


#9楼

这里建议的另一个选项是将图像的样式设置为style="display: block;"

div中的图像在图像下方有多余的空间相关推荐

  1. 如何让div中的文字只显示一行,多余的文字隐藏并加上省略号(超链接形式)...

    写页面的时候遇到了一个小小的问题,如何让div中一行超链接文字只显示一行,多余的文字隐藏并加上省略号,悬浮时隐藏的文字显示出来?解决问题时发现了css3的一个新标签  text-overflow  , ...

  2. php图片居中在div,在div中水平居中图像

    在div中水平居中图像 这可能是一个愚蠢的问题,但由于中心对齐图像的常用方法不起作用,我想我会问.如何在容器div中居中对齐(水平)图像? 这是HTML和CSS.我还为缩略图的其他元素添加了CSS.它 ...

  3. 如何在div中垂直对齐图像

    如何在包含div内部对齐图像? 例 在我的示例中,我需要使用class ="frame "将<img>在<div>垂直居中: <div class=& ...

  4. react 图像识别_无法在React中基于URL查找图像

    react 图像识别 If you're new to React and are having trouble accessing images stored locally, you're not ...

  5. 【转】DICOM中几个判断图像方向的tag

    转自:https://www.cnblogs.com/h2zZhou/p/9072967.html 在DICOM标准里,有三个TAG与成像的方向相关. 参考来源:Kitware关于DICOM方向的说明 ...

  6. div css sprites精灵-CSS图像拼合 CSS贴图定位网页背景素材图片拼合定位布局技术教程

    div css sprites精灵-CSS图像拼合 CSS贴图定位网页背景素材图片拼合定位布局技术教程篇与css sprites实例篇 css sprites拼合背景图片素材实现布局效果截图 一.什么 ...

  7. ps自动混合图层后蒙版全黑_使用图层蒙版在Photoshop中淡化和混合图像

    ps自动混合图层后蒙版全黑 This article was written in 2011 and remains one of our most popular posts. If you're ...

  8. 从单一图像中提取文档图像:ICCV2019论文解读

    从单一图像中提取文档图像:ICCV2019论文解读 DewarpNet: Single-Image Document Unwarping With Stacked 3D and 2D Regressi ...

  9. R语言ggplot2可视化:jupyter中设置全局图像大小、jupyter中自定义单个ggplot2图像结果的大小

    R语言ggplot2可视化:jupyter中设置全局图像大小.jupyter中自定义单个ggplot2图像结果的大小 目录

最新文章

  1. python3.4用循环往mysql5.7中写数据并输出
  2. c# java数据类型不同点
  3. 解决intellij IEDA mapper.xml文件警告以及could not autowire的错误提示
  4. 数据对象类代码的生成小工具
  5. php一句话图片木马过滤_php一句话图片木马怎么解析
  6. 别薅了别薅了!!!再薅就真的被薅秃了!!
  7. cx oracle 配置,cx_Oracle的配置啊。。终于搞出来了
  8. python web 服务器实时监控 websocket_python websocket网页实时显示远程服务器日志信息...
  9. linux驱动read函数 copytouser,Linux驱动编程 step-by-step (五)主要的文件操作方法实现...
  10. CCNA-Cisco-Packet-Tracerchs(思科官网)安装教程以及使用
  11. 解决larave-dompdf中文字体显示问题
  12. “百变”Redis带你见识不同场景下的产品技术架构
  13. asp建站系统源码_三款适用于企业建站的CMS建站系统
  14. VB100十月测试:360可牛凯歌高奏 金山失利瑞星缺席
  15. 一种避免 iOS 内存碎片的方法
  16. idea项目没法继承httpservlet_SpringBoot项目发布为war
  17. ApacheCN 深度学习译文集 20201229 更新
  18. 通过telnet来实践HTTP协议。
  19. full join 和full outer join_带你了解数据库中JOIN的用法
  20. 破解 Ashley Madison 1100万个口令

热门文章

  1. [置顶] Activity启动流程
  2. 坐标架内转换到坐标架外的公式
  3. LinkedList 使用巩固及图解
  4. Android stado 运行项目,apk does not exist on disk.
  5. Android No static field XXX of type I in class Lcom/XXX/R$id错
  6. 第十五周程序阅读-范型程序设计(6)
  7. json最大长度限制_GET请求中URL的最大长度限制总结,读完之后,大部分程序员收藏了...
  8. [转载]Mysql数据库千万级数据处理优化
  9. Expanded, SingleChildScrollView, CustomScrollView, container, height, width
  10. kali linux 学习 NETCAT NC的使用