【问题标题】:Main background image fixed, and div's background images inside main div fixed as well修复了主背景图,修复了主 div 中的 div 的背景图
【发布时间】:2014-10-27 21:32:38
【问题描述】:

我遇到了一个问题——实际上我想制作一个类似于蒙版视差滚动区域的东西。

也许一个很好的例子就是这里http://davidwalsh.name/parallax 如果您向下滚动一点,则会出现一个带有一些视差元素的 iframe。

我想要一个带有background-attachment:fixed; 的ma​​in div,以及一个在 ma​​in div 内的 div,它的部分也有一个固定的背景,我想要滚动整个图像,向下滚动时不仅显示部分背景图像

虽然它应该通过将 background-attachment:fixed; 添加到类 .bg-fix 来工作,如下所示: http://jsfiddle.net/cuginoCoso/k5zk5m9q/2/

HTML

<div id="img-strip">
<div class="bg-fix slide-img"></div>
<div class="bg-fix slide-img"></div>
<div class="bg-fix slide-img"></div>
<div class="bg-fix slide-img"></div>
</div>

CSS

.bg-fix {
    background-attachment: fixed;
}
#img-strip {
    border: 1px solid #ffff00;
    height: 200px;
    width: 200px;
    overflow: scroll;
    z-index: 30;
}
.slide-img {
    height: 300px;
    width: 300px;
    display: block;
}

.slide-img:nth-child(even) {
    background-image:  url(https://www.webkit.org/blog-files/acid3-100.png);
    background-color: red;
}
.slide-img:nth-child(odd) {
    background-image:  url(http://drublic.de/blog/wp-content/uploads/2011/10/rotate-images.jpg);
    background-color: blue;
    margin: 0;
}

感谢您的帮助

【问题讨论】:

  • 这里到底要问什么?您希望它在滚动时看起来更好吗?在您的剪辑元素上使用box-shadow。您是否正在寻找有关如何实施视差的建议?谷歌可能是一个更好的选择。不应渲染 div 之外的所有内容。如果您想要更多的渲染空间,请增加 div 的大小。我很困惑你在这里要求什么。
  • 如果难以理解,我很抱歉。条带中的图像在它们不可见的区域中未正确渲染。当你向下滚动时,之前隐藏的区域看起来是错误的(比如 z 排序有问题)。我正在寻找一个解决方案,您可以将 div 放置在页面上的任何位置,并且当您滚动页面时,您正在滚动 div 容器中的图像条。希望这能让它更清楚一点

标签: html css scroll overflow parallax


【解决方案1】:

过了一会儿我明白了你的要求:P 这是它的独奏:http://jsfiddle.net/k5zk5m9q/5/

/* Remove this line below from your CSS */
.bg-fix {background-attachment: fixed;}

/* Add background-attachment: fixed; to .slide-img:nth-child(odd) */
.slide-img:nth-child(odd) {
    background-attachment: fixed;
    background-image:  url(http://drublic.de/blog/wp-content/uploads/2011/10/rotate-images.jpg);
    background-color: blue;
    margin: 0;
}

【讨论】:

  • 嗨!谢谢,但我认为这仍然不是我想要的。这应该说得很清楚。当不滚动时,这会滚动并且不会渲染未显示的区域。 jsfiddle.net/cuginoCoso/k5zk5m9q/6 如果我使用溢出:滚动,图像表现正确,但它们不再被 div 掩盖。 jsfiddle.net/cuginoCoso/k5zk5m9q/7
  • 你想说的是,只有当你将它悬停时,div才会滚动?!如果你在 div 之外滚动它不会滚动,那是你的问题吗?
  • 你要这样的东西吗? jsfiddle.net/k5zk5m9q/8 或实际上将#img-strip 作为您的背景?只有当您将其悬停时,您才能滚动带有图像的 div,如果您试图滚动到 div 之外,那么您正在尝试滚动 &lt;body&gt; 但如果您像我一样填写 intire 页面,您就可以做到这个 Jsfiddle 链接示例
  • 我想我通过使用 background-size 属性想出了一些非常接近的东西。 jsfiddle.net/cuginoCoso/k5zk5m9q/9 现在唯一的问题是,当您滚动时,顶部边距会滚动。我希望这个 div 有点固定但仍然是滚动标签。
  • 这将是一个快速而肮脏的解决方案。用另一个覆盖该区域的 div 遮盖它。但我希望有一种更优雅的方式来做到这一点。 jsfiddle.net/cuginoCoso/k5zk5m9q/10
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-01
  • 1970-01-01
  • 2014-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-22
相关资源
最近更新 更多