移动Safari中的线条工件

时间:2010-10-11 02:02:26

标签: iphone ipad ios ios4 mobile-safari

Safari会在我的网站上以某种比例在div之间呈现黑线。当它为一个按钮或其他东西分割出两个不同div的图像时,它会特别糟糕。我不能将BG放在两个div的父级中,因为它们是透明的.pngs。任何解决方案或只是处理它?<​​/ p>

捕获问题http://i.stack.imgur.com/pTLki.png

TravisO也有同样的问题,我改变了页面的布局方式,原来它是一个有5行的简单表,我删除了行,只是用图像和br,仍然会发生。我试图通过CSS删除所有填充和边距,但很明显问题不是浏览器渲染,而是重新采样浏览器会将页面转换为适合屏幕的大小。您可以在以下位置查看我的破页:

http://www.apinkdoor.com/show/

6 个答案:

答案 0 :(得分:2)

TravisO,你应该摆脱你的CSS中的img造型! 如果你只使用这个:

<style type="text/css">
*
{
    margin: 0px;
    padding: 0px;
}

body
{
    background-color: #f00;
    text-align: center;
}
</style>

它应该在你的iPhone上正确渲染!

答案 1 :(得分:2)

此问题是移动版Safari中重新调整背景图片以进行显示时产生的舍入错误的结果(这是一个错误:http://openradar.appspot.com/8684766)。

解决方案是将左侧右侧边缘的宽度增加1或2px。然后相应地调整CSS,以便默认情况下不会显示您添加的1或2个像素。

答案 2 :(得分:1)

以下CSS,添加到具有指定背景图像的有问题的div中,是我修复它的原因。任何小于3px的东西在某些Safari缩放级别仍会显示轻微的伪影。

margin-top: -3px; /* for Mobile Safari dark line artifact */
padding-top: 3px; /* for Mobile Safari dark line artifact */

答案 3 :(得分:0)

我发现改变了元素的背景颜色,周围的“灰色边框”对我有效。

答案 4 :(得分:0)

向viewport metatag添加initial-scale值为我解决了这个问题。

<meta name="viewport" content="initial-scale=1.0">

答案 5 :(得分:0)

在div标签中显示.png-image时遇到了类似的问题。在图像的一侧渲染了一条很薄的(1 px)黑线。要修复它,我必须添加以下CSS样式:box-shadow: none;