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 小时前
浅入ES5、ES6(ES2015)、ES2023(ES14)版本对比,及使用建议---ES6就够用(个人觉得)
前端·javascript·es6
未来之窗软件服务2 小时前
资源管理器必要性———仙盟创梦IDE
前端·javascript·ide·仙盟创梦ide
liuyang___3 小时前
第一次经历项目上线
前端·typescript
西哥写代码3 小时前
基于cornerstone3D的dicom影像浏览器 第十八章 自定义序列自动播放条
前端·javascript·vue
清风细雨_林木木3 小时前
Vue 中生成源码映射文件,配置 map
前端·javascript·vue.js
FungLeo3 小时前
node 后端和浏览器前端,有关 RSA 非对称加密的完整实践, 前后端匹配的代码演示
前端·非对称加密·rsa 加密·node 后端
不灭锦鲤4 小时前
xss-labs靶场第11-14关基础详解
前端·xss
不是吧这都有重名4 小时前
利用systemd启动部署在服务器上的web应用
运维·服务器·前端
霸王蟹4 小时前
React中巧妙使用异步组件Suspense优化页面性能。
前端·笔记·学习·react.js·前端框架
Maỿbe4 小时前
利用html制作简历网页和求职信息网页
前端·html