在iOS上的Safari中进行视差滚动

时间:2014-06-05 10:24:10

标签: javascript ios scroll parallax

据我所知,在滚动时无法执行JS。它知道的所有工作iOS视差滚动脚本都会在js中重新创建原生滚动效果,以实现此目的。 Iscroll

苹果如何在自己的网站上实现它。

在此页面上滚动时,请查看模糊的背景图像。

http://www.apple.com/ios/carplay/

1 个答案:

答案 0 :(得分:1)

可以在没有JS的情况下在iOS设备上创建CSS。有一些很好的例子,如Keith Clark,你可以找到here

然而,我个人发现这对iOS设备没有预期效果。正如我预期的那样,在我释放触摸后页面继续滚动,但似乎没有发生 - 几乎就像页面是'粘性的'。我发现这是我遇到的一些纯CSS解决方案的情况。

我通常使用Bootstrap,所以以下示例是我用来产生我追求的视差效果。

在你的CSS中添加:

#fixedbg { 
    background:url(../img/yourparallax-image.jpg) no-repeat center center;
    background-size:cover;
    height:100%;
    position:fixed !important;
    width:100%;
    z-index:-2;
    top:0;
}
.header {
    display: table;
    position: relative;
    width: 100%;
    height: 100%; 
}

然后在你的html中添加:

<div id="fixedbg"></div>

<header id="top" class="header">
</header>

<section id="article" class="article">
    <div class="container">
        <div class="row">
            <div class="col-xs-12 col-sm-10 col-md-12">

                <p class="text">Example text content goes here</p>

            </div>
        </div>
    </div>
</section>

#fixedbg从CSS调用正确的图像,然后标题部分设置我想要运行视差效果的整页图像。

我通常会将#fixedbg css用于各种设备屏幕尺寸的媒体查询,因为我喜欢根据内容使用不同的媒体查询。

请注意这是一个简单的视差,到目前为止,我还没有在同一页面上“堆叠”倍数,但在上面的代码和上面Keith Clark的例子中,这应该是一个很好的起点。