Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CSS精灵在iphone上搞砸了_Iphone_Css - Fatal编程技术网

CSS精灵在iphone上搞砸了

CSS精灵在iphone上搞砸了,iphone,css,Iphone,Css,我注意到css精灵显示的像素似乎比在iphone上查看时多了1个。我的网站在mac和PC上的所有主要桌面浏览器上都运行良好。但是当我在iphone上查看它时,你可以看到相邻sprite图像的1个像素 以前有人遇到过这种情况吗?关于如何彻底解决这个问题有什么建议吗?我知道我可以修改我所有的精灵,使它们之间有更多的分离,但是有没有更简单的方法呢 更新:使用safari测试了缩放,并注意到在桌面safari的某些缩放级别上会出现完全相同的问题在图标之间再添加1倍的空间 :编辑: 我注意到这是你提出的解

我注意到css精灵显示的像素似乎比在iphone上查看时多了1个。我的网站在mac和PC上的所有主要桌面浏览器上都运行良好。但是当我在iphone上查看它时,你可以看到相邻sprite图像的1个像素

以前有人遇到过这种情况吗?关于如何彻底解决这个问题有什么建议吗?我知道我可以修改我所有的精灵,使它们之间有更多的分离,但是有没有更简单的方法呢


更新:使用safari测试了缩放,并注意到在桌面safari的某些缩放级别上会出现完全相同的问题

在图标之间再添加1倍的空间

:编辑:

我注意到这是你提出的解决方案之一。用精灵检查元素,确保它们的大小正确。(在Firebug中双击渲染的边框框模型)


这可能与手机呈现物品的方式有关。

迟到总比不迟到好:

这不是一个bug或软件缺陷,而是一个简单的数学问题:旧版iPhone在320像素宽的屏幕上以980px的宽度显示网站(纵向模式)

所以这是一个取整问题:假设一个元素的宽度是50px。它的显示尺寸大约是它的三分之一,这就是问题的根源:iPhone将以16px或17px的宽度显示它。即使精确到三分之一,问题仍然存在,当然,不同的缩放级别也是如此

如果是16px,您就没事了-您可能已经注意到问题并不是发生在所有元素上。如果是17px,则表示元素的显示略大于预期值,相邻的精灵将显示

我在iphone3g上查看了apple.om,甚至他们的导航栏底部也显示了一些奇怪的小瑕疵——它们几乎不引人注目


所以从理论上讲,在每个精灵周围添加1px就足够了。不得不改变所有这些因素是一件令人沮丧的事,但这似乎是最好的解决办法。这个问题也不太可能消失——iPhone4显然仍在缩小尺寸,至少在纵向模式下是这样。更不用说其他的智能手机了,它们的屏幕要差得多。

你能展示一下屏幕截图吗?这与精灵几乎没有关系,但包含的元素太大了,不是吗?@pekka是的,似乎元素太大了。我也注意到了这一点。我想不出是什么,但过了一段时间我放弃了尝试。