菜单

解决iPad(Safari)下背景图片空白或被截断的问题

2012年03月7日 - css

页面中,顶部是一条100%宽的背景,CSS样式如下:

    #header {
    width:100%;
    height: 94px;
    background: url(/images/headerbg.gif);
    overflow: hidden;
    }

发现在iPad下右侧有些部分显示不出来,所以开始调试。
装了Windows版本的Safari测试页面后发现,初始化一个窗体宽度,然后加载页面,等到页面加载完成后再拉动水平滚动条,就会发现顶部右边的背景全变成了白色。
这个明显是Safari对背景的渲染有问题,背景的100%宽度在初始化页面时就被自动转化成固定的宽度值了,因此之后拉动滚动条,不会重新渲染。

StackOverflow上面提供了几种解决方案:

http://stackoverflow.com/questions/2966803/a-way-to-correct-background-scaling-in-ipads-safari

为了简便,我目前采取了最简单的方案,即在 body 中加入 min-width 定义:

    body {
    line-height: 1;
    min-width:1024px;
    }

发表评论

电子邮件地址不会被公开。 必填项已用*标注