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>
相关推荐
ikoala12 分钟前
Codex 小白入门:从安装到插件、MCP、Skills,一篇把配置讲明白
前端·javascript·后端
雪隐33 分钟前
用Flutter做背单词APP-04一个人,2周,从零撸出一个背单词App
前端·人工智能·后端
OpenTiny社区1 小时前
Skill 设计:封装、评测、运营,一次讲透
前端·github
大白要努力!1 小时前
uni-app 全面入门速查手册
前端·uni-app
索西引擎1 小时前
【React】虚拟 DOM:原理、机制与核心价值分析
前端·react.js·前端框架
console.log('npc')1 小时前
网页移动端UI/UX Pro Max - 设计智能skill
前端·人工智能·ui·ux
javajenius1 小时前
Masslynx 4.1安装包免费下载及详细安装教程
java·服务器·前端·其他
gis开发之家2 小时前
《Vue3 从入门到大神29篇》单元测试与 E2E 测试 —— 保障 Vue3 项目的质量
前端·javascript·vue.js·单元测试·前端框架·vue3
爱勇宝2 小时前
AI 时代,更稀缺的是「提出好问题」还是「判断好答案」?
前端·人工智能·后端
李伟_Li慢慢2 小时前
three.js 中的WebGPU 有几成熟了?
前端·three.js