html - 滚动时盒子阴影不会停留在原地

标签 html css

我有一个lightbox-div,需要position: fixed。灯箱内有一些内容,包括图像。现在重要的是 box-shadow 留在原地当用户向下滚动时。此外,box-shadow 必须位于图像的前面
尝试了一些 z-index 东西,但无法弄清楚如何让它正常工作。

这是我的 Fiddle

#lightbox {
    position: fixed;
    top: 20%;
    left: 20%;
}
div {
    width: 150px;
    height: 300px;
    border: 1px solid blue;
    overflow-y: auto;
    overflow-x:hidden;
    position: relative;
}

.shadow {
    position: absolute;
    top: 0;
    left: -10px;
    right: -10px;
    bottom: 100%;
    box-shadow: inset 0 10px 10px black, inset 0 -10px 10px black;
    z-index: 100;
}
<div id="lightbox">
    <div>content
        <img src="http://placehold.it/100x250"/>
        <img src="http://placehold.it/100x250"/>
        <img src="http://placehold.it/100x250"/>
        <div class="shadow"></div>
    </div>  
</div>

最佳答案

你可以为此使用一个伪元素。我在 #lightbox div 上创建了一个,宽度设置为 90%(因此它不会干扰滚动条)

#lightbox {
  position: fixed;
  top: 20%;
  left: 20%;
  overflow-y: hidden;
}
div {
  width: 150px;
  height: 300px;
  border: 1px solid blue;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
}
#lightbox:before{
  position: absolute;
  content:"";
  top: 0;
  left:0;
  height:100%;
  width:90%;
  box-shadow: inset 0 10px 10px black, inset 0 -10px 10px black;
z-index:8;
}
<div id="lightbox">
  <div>content
    <img src="http://placehold.it/100x250" />
    <img src="http://placehold.it/100x250" />
    <img src="http://placehold.it/100x250" />
    <div class="shadow"></div>
  </div>
</div>

关于html - 滚动时盒子阴影不会停留在原地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28413453/

相关文章:

css - 如何使用相对/绝对定位来定位 Canvas

php - 如何使用 PHP 和 MySQL 创建编辑表单以更新 HTML 表单中的记录

javascript - 如果打开导航栏,则添加过渡到背景颜色更改

javascript - 切换移动导航时如何防止滚动

html - 我无法获得以登录页面为中心的登录表单

javascript - 构建框架/工具时的类命名指南

php - 响应式设计 - 数据库生成的图标/图像

javascript - 滚动功能在本地禁用,但仍可在现场使用

javascript - 如何将 arr.reverse() 值设置为下拉列表

javascript - 检查文本区域或输入是否有需要的特殊单词