我正在尝试使用纯CSS创建视差效果,并在第一帧上设置视频背景。该效果在Firefox和IE9+中表现良好,但Chrome会在所有带有“background-attachment:fixed”的帧上产生撕裂效果。
我之前在这里找到了一个奇怪的HTML布局和CSS剪辑的答案,但我似乎找不到它了。那段代码的问题是我无法将帧设置为最小高度,并允许内容在较小的视口上轻松重新流动。
这里有很多类似的问题,但似乎没有真正解决或者他们正在引用一个旧的错误,现在已经被修复了。如果我删除视频,则background-attachment属性的行为符合预期。也许这些问题有关联?
示例:http://codepen.io/cluke009/pen/cdHJu HTML
我之前在这里找到了一个奇怪的HTML布局和CSS剪辑的答案,但我似乎找不到它了。那段代码的问题是我无法将帧设置为最小高度,并允许内容在较小的视口上轻松重新流动。
这里有很多类似的问题,但似乎没有真正解决或者他们正在引用一个旧的错误,现在已经被修复了。如果我删除视频,则background-attachment属性的行为符合预期。也许这些问题有关联?
示例:http://codepen.io/cluke009/pen/cdHJu HTML
<div id="slide0" class="slide"></div>
<div id="slide1" class="slide"></div>
<div id="slide2" class="slide">
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>....
</div>
<div id="slide3" class="slide">
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>....
</div>
<div id="slide4" class="slide"></div>
<div id="slide5" class="slide"></div>
CSS
body,
html {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
p{
margin: 0;
padding: 10px 5%;
}
video {
z-index: -9999;
position: fixed;
right: 0;
bottom: 0;
width: auto;
height: auto;
min-height: 100%;
min-width: 100%;
}
.slide {
box-sizing: border-box;
height: auto;
min-height: 100%;
min-width: 100%;
background-size: cover;
box-shadow: inset 0 10px 10px rgba(0,0,0,.3);
}
.slide:nth-child(even) {
background-attachment: fixed;
}
#slide1{
background-image:url(http://www.placekitten.com/1000/900);
}
#slide2{
background-image:url(http://www.placekitten.com/600/400);
}
#slide3{
background-image:url(http://www.placekitten.com/1000/1000);
}
#slide4{
background-image:url(http://www.placekitten.com/1000/800);
}