扫码关注官方订阅号
<p class="thumb" style="width: 500px;"> <img src="imgs/1.jpg" style="width: 100%;height: auto"/> </p>
在网页上thumb的高度会比里面的img高度多出几像素,请教下这是为啥?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
p是块级标签,img是行级标签,你把img的display设置能block就好了。
这是因为浏览器本身对img标签的渲染问题,img标签本身是行内元素(主要原因)所以有一种简单有效的解决办法(推荐)
img { display:block; }
或者可以尝试为父级p设置font-size:0(不推荐)也可以采用浮动(float),原因是浮动会将这个元素转换为块级元素当然还有为p定高并且设置overflow:hidden的解决办法(太不优雅了,强烈不推荐)
font-size:0
img是行内置换元素,是行内但又自带一些样式,需要初始化。
img { vertical-align:top; }
基线问题,img是行内块元素,在块元素里默认有3px或者4px空白(其实就是和文本的基线对齐不管有没有文本)解决:设置图片display:block或者img { vertical-align:top; }
关键字 ---> 4px空白
1、浮动2、display:block
设置父元素:font-size:0
设置图片display:block
display:block
设置图片浮动
就一个bug img 默认有3,4像素空白
解决方法:1、给父级加高 overflow:hidden;2、需要浮动时 直接float 也可以3、display:block;
这个往深里面说,是ifc的baseline的问题,点这个
ifc
baseline
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
p是块级标签,img是行级标签,你把img的display设置能block就好了。
这是因为浏览器本身对img标签的渲染问题,img标签本身是行内元素(主要原因)
所以有一种简单有效的解决办法(推荐)
或者可以尝试为父级p设置
font-size:0
(不推荐)也可以采用浮动(float),原因是浮动会将这个元素转换为块级元素
当然还有为p定高并且设置overflow:hidden的解决办法(太不优雅了,强烈不推荐)
img是行内置换元素,是行内但又自带一些样式,需要初始化。
基线问题,img是行内块元素,在块元素里默认有3px或者4px空白(其实就是和文本的基线对齐不管有没有文本)
解决:设置图片display:block或者img {
vertical-align:top;
}
关键字 ---> 4px空白
1、浮动
2、display:block
设置父元素:
font-size:0
设置图片
display:block
设置图片浮动
就一个bug
img 默认有3,4像素空白
解决方法:
1、给父级加高 overflow:hidden;
2、需要浮动时 直接float 也可以
3、display:block;
这个往深里面说,是
ifc
的baseline
的问题,点这个