javascript - 使用不是背景的图像创建类似视差的效果

标签 javascript html css css-animations parallax

我正在尝试创建一个最好不使用 javascript(仅限 CSS)的滚动效果,但我知道如果这不可能,只是探索选项。

我的页面如下所示:enter image description here

当向下滚动时,我希望背景图像具有类似视差的效果,在 body 的背景和框架围绕它移动时保持静止。

下面是一个代码示例:

http://jsfiddle.net/J8fFa/7/

HTML

<body>
    <div class="border-bg">
        <div class="image-bg"></div>
    </div>
    <div class="border-bg">
        <div class="spacer">
        </div>
    </div>
</body>

CSS

body{
    background-color:#aaa;
}

.border-bg{
    width:80%;
    margin:30px auto;
    background-color:#fff;
    padding:40px;
}

.image-bg{
     background:url('http://i.imgur.com/7cM1oL6.jpg');   
    height:400px;
        background-size:cover;
}

.spacer{
    height:900px;
}

如果图像是 body 的背景,我可以看到它是如何工作的,但是由于它位于 body 的顶部,有什么方法可以操纵它以获得类似的视觉效果吗?

最佳答案

将您的 .image-bg 类更改为:

.image-bg{
     background:url('http://i.imgur.com/7cM1oL6.jpg') fixed;   
    height:400px;
        background-size:cover;
}

这将防止图像滚动

更新的 fiddle :http://jsfiddle.net/J8fFa/9/

关于javascript - 使用不是背景的图像创建类似视差的效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21840102/

相关文章:

html - textarea 焦点不适用于 chrome?

html - CSS 菜单子(monad)项迫使 parent 调整大小

javascript - 试图让我的输出显示在正文部分,格式包括页眉、正文(带背景)和页脚

javascript - 如何在 JavaScript 函数中使用可变数量的参数

javascript - 对每个数组元素调用函数

javascript - 将 JSON 转换为 Javascript 数组对象 - node.js

javascript - onclick 在弹出框中显示图像

java - 如何在Android中将数据从cordova插件传递到index.html

javascript - 模拟交通灯

javascript - 如何在javascript中使用INR等货币变量?