前端 - 关于img父容器的高度会比img的高度多几像素的问题?
高洛峰
高洛峰 2017-04-17 15:03:26
[HTML讨论组]
    <p class="thumb" style="width: 500px;">
        <img src="imgs/1.jpg" style="width: 100%;height: auto"/>
    </p>

在网页上thumb的高度会比里面的img高度多出几像素,请教下这是为啥?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(9)
迷茫

p是块级标签,img是行级标签,你把img的display设置能block就好了。

天蓬老师

这是因为浏览器本身对img标签的渲染问题,img标签本身是行内元素(主要原因)
所以有一种简单有效的解决办法(推荐)

img {
    display:block;
}

或者可以尝试为父级p设置font-size:0(不推荐)
也可以采用浮动(float),原因是浮动会将这个元素转换为块级元素
当然还有为p定高并且设置overflow:hidden的解决办法(太不优雅了,强烈不推荐)

ringa_lee

img是行内置换元素,是行内但又自带一些样式,需要初始化。

img {
  vertical-align:top;  
}
高洛峰

基线问题,img是行内块元素,在块元素里默认有3px或者4px空白(其实就是和文本的基线对齐不管有没有文本)
解决:设置图片display:block或者img {
vertical-align:top;
}

伊谢尔伦

关键字 ---> 4px空白

巴扎黑

1、浮动
2、display:block

PHP中文网
  1. 设置父元素:font-size:0

  2. 设置图片display:block

  3. 设置图片浮动

怪我咯

就一个bug
img 默认有3,4像素空白

解决方法:
1、给父级加高 overflow:hidden;
2、需要浮动时 直接float 也可以
3、display:block;

ringa_lee

这个往深里面说,是ifcbaseline的问题,点这个

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号