在 chrome 正常浏览没有问题,但是使用模拟器的 Responsive
模式图片与图片之间会出现 1px
的间隙。
如果不使用 viewport
缩放也没有问题,加上 <meta name="viewport" content="width=375, minimum-scale = 0.8533333333333334, maximum-scale = 0.8533333333333334, target-densitydpi=device-dpi">
才会出现间隙。
一开始以为是 inline-block
和 line-height
的影响,但是将 img
设置为 block
还是会有间隙。
回答中说了很多解决 inline-block
有空白间隙的方案,张鑫旭的幽灵节点的文章我看过,也都试过相关的解决方案,但是都没有用。我将viewport
的缩放去掉就不会有间隙的问题,所以我认为是viewport
缩放的问题
请问出现这种情况的原因是什么呢?要怎样解决。
线上有问题的页面地址如下: https://activitycommonstatic....
使用手机查看,会发现间隙非常清晰。
相关代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="viewport" content="width=375, minimum-scale = 0.8533333333333334, maximum-scale = 0.8533333333333334, target-densitydpi=device-dpi">
<title>Document</title>
<style>
body {
width: 375px;
margin: 0;
padding: 0;
background: red;
}
.container {
font-size: 0;
}
.live-image {
width: 100%;
display: block;
}
</style>
</head>
<body>
<div class="container">
<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1555679075809&di=1443a3cfdc2171b7b3d1377a647bf42e&imgtype=0&src=http%3A%2F%2Fpic49.nipic.com%2Ffile%2F20140923%2F12106414_110747139072_2.jpg" class="live-image">
<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1555679075809&di=1443a3cfdc2171b7b3d1377a647bf42e&imgtype=0&src=http%3A%2F%2Fpic49.nipic.com%2Ffile%2F20140923%2F12106414_110747139072_2.jpg" class="live-image">
</div>
</body>
</html>
那条黑线其实是你的背景色。
你这个现象的原因是因为浏览器对于图片的高度计算不准确的原因照成的,因为你进行了放大缩小,导致浏览器计算出来的大小和实际的大小有偏差,所以就留了点空白。
建议:既然整页都是图片,那么加 viewport 一点用也没有,去掉就没问题。
实际测下来是 maximum-scale 的原因,去掉就好了。