html - 带有视频背景的纯CSS视差效果

标签 html css google-chrome html5-video parallax

我正在尝试使用纯 CSS 创建视差效果,该效果在第一帧上也有视频背景。该效果在 Firefox 和 IE9+ 中运行良好,但 Chrome 对所有带有“background-attachment: fixed”的帧都有撕裂效果。

之前我确实设法在这里找到了一个答案,它使用了一个奇怪的 HTML 布局和 CSS 剪辑,但我似乎再也找不到了。该代码的问题是我无法将框架设置为最小高度并允许内容在较小的视口(viewport)上轻松回流。

这里有很多类似的问题,但似乎没有一个真正得到解答,或者它们引用的是一个现在似乎已修复的旧错误。如果我删除视频,背景附件属性将按预期运行。也许这些问题是相关的?

示例: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);
}

最佳答案

我认为撕裂效果意味着从有小猫和文字的画面到下一个孤独的影子的奇怪间隙。

您的问题可能重复 Chrome issue with background-attachment fixed and position fixed elements

关于html - 带有视频背景的纯CSS视差效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26723723/

相关文章:

javascript - HTML 检查溢出 - 文本位置

html - 具有非工作溢出/高度的 CSS DIV 覆盖

php - 如何防止我的网站表单被解析?

javascript - Angularjs - 页面渲染完成后加载脚本

css - 使用 custom.css.scss 覆盖 Bootstrap ?

jquery - 在进度条中居中文本

固定在滚动条上的位置的javascript

javascript - event.preventDefault 不适用于 Chrome 中的 "document"/"document.body"元素

css - 扩展 Firefox 中的外部元素以包含内部元素

android - 如何修复 Chrome for Android 中损坏的验证气泡样式?