【问题标题】:Mask a div with images that have the attribute background-attachment: fixed使用具有属性 background-attachment:fixed 的图像屏蔽 div
【发布时间】:2014-10-29 10:49:58
【问题描述】:

有没有办法构建这样的东西:

http://jsfiddle.net/cuginoCoso/k5zk5m9q/10

没有 div 覆盖 div 顶部的区域?

在这里你可以看到没有覆盖 div 的样子: http://jsfiddle.net/cuginoCoso/k5zk5m9q/9/

我希望能够将 div 放置在任何地方而不用遮盖它。通常你会使用position:fixed;我认为在 div 上,但是您无法滚动图像。
谢谢

【问题讨论】:

  • 你可以将它包裹在一个带有overflow-y: scroll和定义宽度和高度的div中,然后放置在具有相同高度和宽度的div中。然后只需使用背景和背景附件。

标签: html css image scroll fixed


【解决方案1】:

这是我测试过的,它很有效,而且很简单。使用overflow-y: scroll 将替换您在 div 顶部的框,将您的滚动包装到一个小框内。

HTML

<div class="wrapper">
    <div style="background-image: url(1.png)"></div>
    <div style="background-image: url(2.png)"></div>
    <div style="background-image: url(3.png")></div>
</div>

CSS

.wrapper {
    position: absolute;
    overflow: scroll;
    width: 200px;
    height: 200px;
}
.wrapper div {
    width: 200px;
    height: 200px;
    background-attachment: fixed;
    background-position: 50% 50%;
    background-size: cover;
}

【讨论】:

  • 谢谢,但它不会保持图像固定,并且只有当鼠标在 div 内时它才能滚动。我需要这样:jsfiddle.net/cuginoCoso/k5zk5m9q/10
  • 它应该保持图像固定。如果您希望它在整个页面上工作,这是错误的方式,重叠元素确实是唯一的方式。
  • 那么除了让 div 覆盖此图像的顶部之外,没有其他解决方案了吗?
  • 我给你的解决方案允许你声明任何尺寸的盒子。制作了一个溢出框来隐藏内容,只需检查它并使用它。
  • 我在 jsfiddle 中实现了您的解决方案:jsfiddle.net/cuginoCoso/k5zk5m9q/11 我看到您可以将 div 放置在页面上的任何位置。但除了只能在 div 内滚动的问题之外,您是否看到 background-attachment:fixed 的行为有何不同?
猜你喜欢
  • 2018-10-01
  • 2018-07-13
  • 2014-03-19
  • 1970-01-01
  • 2018-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多