【HTML/CSS】图片底部空白缝隙问题

问题描述

在日常开发的过程中我们经常会遇到这样的一个问题:当使用img标签添加图片时,图片底部会出现几像素的空白缝隙。

<div class="box">
    <img src="images/1.jpg" alt="" class="img">
</div>
.box {width: 600px;background: aqua;}
.img {width: 100%;}

原因解析

 img标签在元素的显示模式中属行内块元素,在css的规则中行内元素与行内块元素的垂直对齐方式(vertical-align)默认基线对齐。

 img标签的基线为图片底部边缘,而文字的基线并非文字的底部。

<div class="box">
    <img src="images/1.jpg" alt="" class="img">abcdefg
</div>
.box {background: aqua;font-size: 40px;}
.img {width: 600px;}

解决方法

1. 更改img的显示模式 

将img标签的显示模式设置为display:block以将其转换为块级元素使其在页面中独占一行。

<div class="box">
    <img src="images/1.jpg" alt="" class="img">
</div>
.box {background: aqua;font-size: 40px;}
.img {display: block;width: 600px;}

2. 更改img的垂直对齐方式

 将img标签的垂直对齐方式设置为top、middle、bottom等。

<div class="box">
    <img src="images/1.jpg" alt="" class="img">abcdefg
</div>
.box {background: aqua;font-size: 40px;}
.img {width: 600px;vertical-align: bottom;}

3. 将div中的文字大小设置为0

当div中只存在img标签时,可将div的font-size设置为0。 

<div class="box">
    <img src="images/1.jpg" alt="" class="img">
</div>
.box {background: aqua;font-size: 0;}
.img {width: 600px;}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值