css - 位置 :fixed within an overflow:hidden parent - cross-browser alternative to background-attachment:fixed?

标签 css cross-browser overflow background-image parallax

我有一个相当常见的用例,一个包含一系列大图像的营销页面,我希望它们表现background-attachment:fixed 但避免该方法存在相当严重的性能问题。

通过使用包装器 div,使用 position:relative; z-索引:0; overflow:hidden 在包含图像的全屏固定 div 周围,效果正是我在 Chrome 和 Safari 中想要的效果(到目前为止我已经测试过):

http://codepen.io/geelen/pen/FxyKj

在 Firefox 上,overflow:hidden 似乎没有任何效果,因此页面上的三个图像都呈现为全屏显示。目前还没有机会测试 IE,但如果我至少能让 Chrome 和 Firefox 正常工作并表现良好,那将是一个开始。

有趣的是,删除 z-index:0 也会破坏对 Chrome 的影响,因为带有自动 z-index 的 position:relative 不会引入新的堆栈上下文,这似乎是导致 overflow:hidden 产生影响的原因。我想知道是否有办法让 Firefox 以类似的方式呈现?

最佳答案

如何使用此代码? http://codepen.io/anon/pen/vFJxk

.image {
  transform: translateZ(0);
  background-size: cover;
  //position: fixed;
  //top: 0;
  //left: 0;
  //z-index: 0;
  height: 100%;
  width: 100%;
  background-position: 50% 50%;
  background-attachment:fixed;
  overflow: hidden;

我已经在 IE 11 中仔细检查过,它运行良好。

关于css - 位置 :fixed within an overflow:hidden parent - cross-browser alternative to background-attachment:fixed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24887922/

相关文章:

JQuery Fancy Box 文本溢出

html - 背景图像溢出不起作用

javascript - 根据页面/屏幕高度调整大小

javascript - 动画在 Microsoft Edge 中呈现不佳

html - CSS 溢出问题

css - 歌剧和@font-face

html - 容器不展开

css - 如何从我在 Inspect Element 中轻松找到的 css 中找到 <br> (或空格),并将其删除?

html - 将元素的宽度设置为其祖父元素的百分比

javascript - 显示 "Unsupported"浏览器消息的最佳方式