我有两个高度为100%的div。 当你滚动时,我希望第二个div超过其他滚动,而不是先滚动第一个。
喜欢这个网站:http://www.endzeit-ausstellung.de/
我看着Firebug,但我找不到那里的解决方案,有人可以帮助我吗?
提前多多谢谢!
答案 0 :(得分:23)
你不需要jquery插件来做这个“滚动效果”。你只需要一些css;)
这里快速而肮脏的例子:
<div id="wrapper">
<div id="a" class="panels">FIXED PANEL</div>
<div id="b" class="panels">Scrolling-Panel 1</div>
<div id="c" class="panels">Scrolling-Panel 2</div>
<div id="d" class="panels">Scrolling-Panel 3</div>
</div>
// reset margin and padding of body and html
html,body {
padding:0;
margin:0;
background:black;
}
// allows us to scale all panels inside to full width and height
#wrapper {
position:absolute;
height:100%;
width:100%;
}
// make all panels fullpage
.panels {
position:relative;
height:100%;
min-height:100%;
width:100%;
z-index:1000;
}
// this is the fixed first panel
#a{
background:#eee;
position:fixed;
color:red;
top:0;
left:0;
/* prevents your fixed panel from being on top of your subsequent panels */
z-index: -99;
}
// the second panel -> after the first fixed panel
// should get 100% top margin, thats the trick
#b{
margin-top:100%;
background:yellow;
}
#c{
background:pink;
}
#d{
background:green;
}
演示:
顺便说一句:我已经制作了endzeit-ausstellung.de网站。答案 1 :(得分:1)
这称为Parallax
效果滚动。这需要很多东西才能使它发挥作用。检查相同的资源。 The best one I found与您提供的网站引用非常相似。
希望这有帮助。
答案 2 :(得分:1)
使用jQuery检查jParallax:http://stephband.info/jparallax/
答案 3 :(得分:1)
这是视差滚动,有很多好的库可以帮助你。我之前使用过它们并且效果很好:
Skrollr - https://github.com/Prinzhorn/skrollr
Parallax.js - http://stolksdorf.github.io/Parallaxjs/
答案 4 :(得分:0)
有一种简单得多的方法。我在W3Schools上找到了它。重要的部分是添加background-attachment: fixed
。完整的CSS如下所示:
.banner {
background-image: url("foo.jpg");
min-height: 500px;
background-attachment: fixed;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}