CSS:图片间空白间距问题的解决方案

一、问题描述

今天有小伙伴遇到多张图片排版显示时中间存在空白间隙,问如何处理:

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>
相关推荐
风骏时光牛马1 小时前
用户管理模块接口开发
前端
彭亚川Allen1 小时前
从零手搓 RAG 之检索全流程,给大模型接上自己的知识库
前端·后端·ai编程
IT_陈寒1 小时前
别让Java字符串拼接偷偷吃掉你的内存
前端·人工智能·后端
软件技术NINI2 小时前
圣罗兰彩妆html+css 4页
前端·css·html
2601_951615202 小时前
网站模板 网站网页模板下载
前端·网络·html
酷炫码神3 小时前
Day 1|HTML5:一个商城首页的骨架,从 DOCTYPE 到语义化
前端·html·html5
AI源码3 小时前
鲜花商城(HTML 版)
前端·html
hiahiahia1233 小时前
Message 和对话
服务器·前端·数据库
溪语流沙4 小时前
【Web全栈进阶】Composition API与组件通信:props深入、emit、插槽
前端·css·vue.js
ZoeLandia4 小时前
TypeScript 03:泛型与工具类型
前端·typescript