【问题标题】:Inset box-shadow beneath content scroll fix内容滚动修复下方的插入框阴影
【发布时间】:2018-04-04 13:48:41
【问题描述】:

我发现这个解决方案Inset box-shadow beneath content 工作得很好,但是当外部容器 div 必须滚动(溢出)时,具有 box-shadow 的内部 div 将随着内容滚动。如何解决这个问题?

div {
    height:300px;
    color:red;
    position:relative;
}

div div {
    box-shadow:inset 0 0 10px black;
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
<div>
    <div></div>
    a
</div>

【问题讨论】:

    标签: html css overflow box-shadow


    【解决方案1】:

    您可以考虑添加叠加层并使用z-index 指定哪个块位于顶部以将阴影置于内容之上或之下。

    div {
        height:300px;
        color:red;
        position:relative;
    }
    
    div div {
        padding: 10px;
        position:absolute;
        top:0;
        left:0;
        width:95%;
        height:100%;
        overflow: scroll;
        background: none;
        z-index: 99;
    }
    
    #overlay{
      display: block;
      width: 95%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      box-shadow: inset 0 0 200px black;
      z-index: 1;
    }
    <div>
        
        <div>
          lorem ipsum dolor <br />
          lorem ipsum dolor <br />
          lorem ipsum dolor <br />
          lorem ipsum dolor <br />
          lorem ipsum dolor <br />
          lorem ipsum dolor <br />
          lorem ipsum dolor <br />
          lorem ipsum dolor <br />
          lorem ipsum dolor <br />
          lorem ipsum dolor <br />
          lorem ipsum dolor <br />
          lorem ipsum dolor <br />
        </div>   
        <span id="overlay"></span>
    </div>

    【讨论】:

    • 同样的问题,内容会在阴影之上,所以,不是想要的效果。
    • 我更新了我的答案,只是添加了z-index 以指定哪个在另一个之上
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2011-01-22
    • 1970-01-01
    相关资源
    最近更新 更多