一、问题描述
今天有小伙伴遇到多张图片排版显示时中间存在空白间隙,问如何处理:
html
<div>
<img width="100%" src="https:/xxx.png" id="1747098" style="max-width:100%;"><img width="100%" src="https://xxx.png" id="1747103" style="max-width:100%;"><img width="100%" src="https://xxx.png" id="1747090" style="max-width: 100%;">
</div>
二、解决方案
以往如果发现图片之间存在间距,通常是由于图片元素的默认对齐方式导致的。为了解决这个问题,可以尝试以下方法:
1.
设置父级元素font-size:0
:另一种方法是调整父级元素的字体大小(font-size)为0。这种方法基于基线的位置与字体大小相关,通过将父级元素的字体大小设置为0,可以避免由于字体大小不同而导致的基线对齐问题,进而减少图片间的间距。2.
改变vertical-align的值
:通过调整图片元素的vertical-align属性值,可以改变图片的对齐方式,从而减少或消除图片间的间距。这种方法适用于调整图片默认的对齐方式,以达到减少间距的目的。3.
设置元素display
:通过将图片元素设置为block或flex布局,可以有效地消除图片之间的间距。这种方法的主要原理是将原本的内联元素转换为块级元素,从而避免由于基线对齐而产生的不必要的间距。
于是首先将父元素的font-size
设置为0
:
html
<div style="font-size:0;">
<img width="100%" src="https:/xxx.png" id="1747098" style="max-width:100%;"><img width="100%" src="https://xxx.png" id="1747103" style="max-width:100%;"><img width="100%" src="https://xxx.png" id="1747090" style="max-width: 100%;">
</div>
经过测试发现,在PC Chorme预览和部分真机上测试都能起效果,但在iphone 14 Pro上测试发现依然存在大概1px的间距:
尝试在img上设置vertical-align的值为middle
,在iphone 14 Pro上测试发现问题依然存在;
最后尝试在img上设置display的值为block
,在iphone 14 Pro上测试发现问题解决。
最终代码:
html
<div style="font-size:0;"><img width="100%" src="https://xxx.png" id="1747098" style="max-width:100%;display:block;"><img width="100%" src="https://xxx.png" id="1747103" style="max-width:100%;display:block;"><img width="100%" src="https://xxx.png" id="1747090" style="max-width: 100%;display:block;"></div>