在绝对定位的叠加层上方显示固定位置元素的子元素

鸟的

我有一个包含两列的布局。左列垂直滚动,右列固定。右列包含多个部分。

在某个时候,将显示一个覆盖图。我希望它涵盖除右列(<aside class="one">...</aside>的第一部分以外的所有内容

现在,显示叠加层时,它覆盖了所有内容,包括aside.one元素,即使元素具有较高的z-index值。

HTML:

<!-- ... -->

<section id="sidebar">
    <aside class="one">...</aside>
    <aside class="two">...</aside>
</section>

<!-- ... -->

<div class="overlay"></div>

CSS:

#sidebar {
    position: fixed;
}

.one {
    z-index: 3;
}

.overlay {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
}

这是一个jsFiddle,说明了我的问题的更完整示例:http : //jsfiddle.net/ncSWz/10/

我知道我需要更改一些HTML结构才能使其正常工作,但是我不确定从哪里开始。

提前致谢。

Thgaskell

实际上,此问题涉及一些堆栈上下文。

这个想法本质上是,您需要同时具有.overlayaside.one在相同的堆栈上下文中。您可以通过将移入来完成.overlay此操作#sidebar(因为它是position: fixed-这会创建一个堆栈上下文)。

接下来,您需要在侧边栏中创建更多嵌套的堆叠上下文。通过改变定位aside.onerelative.overlayfixed,创建另一个2个堆叠环境,让您玩z-index荷兰国际集团的元素。

最后,您需要更改z-index的位置#header,使其位于叠加层之下。

  • 根元素(HTML),
  • 使用“自动”以外的z索引值(绝对或相对)定位,
  • 透明度值小于1的元素
  • 在移动版WebKit和Chrome 22+上,位置:固定始终会创建新的堆叠上下文,即使z-index为“自动”

来源:MDN:堆栈上下文

更新了jsFiddle: http : //jsfiddle.net/ncSWz/17/

的HTML

    <section id="sidebar">
        
        <!-- Should be on top of the overlay -->
        <aside class="one">...</aside>
        
        <aside class="two">...</aside>
        
        <!-- Should cover all elements except for aside.one -->
        <div class="overlay"></div>
    </section>

的CSS

header {
    z-index: 0;
}

...

.one {
    position: relative;
    width: 100%;
    z-index: 3;
}

.overlay {
    bottom: 0;
    display: none;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将元素置于绝对定位的叠加层上方

来自分类Dev

固定位置元素位于绝对位置元素内

来自分类Dev

固定位置元素位于绝对位置元素内

来自分类Dev

元素的固定位置?

来自分类Dev

在固定位置叠加层中滚动

来自分类Dev

如何在叠加层上方显示元素?

来自分类Dev

如何将子元素定位在固定位置父元素的底部

来自分类Dev

AngularJS:在固定位置元素上显示和隐藏动画

来自分类Dev

了解绝对定位元素的默认位置

来自分类Dev

了解绝对定位元素的默认位置

来自分类Dev

如何在绝对定位的元素上添加叠加?

来自分类Dev

将锚文本放置在其绝对定位的伪元素上方

来自分类Dev

如何使固定位置的元素水平居中

来自分类Dev

在特定位置停止固定元素滚动?

来自分类Dev

如何使固定位置的元素水平居中

来自分类Dev

在特定位置停止固定元素滚动?

来自分类Dev

过渡固定位置元素的高度

来自分类Dev

为什么绝对定位元素显示在静态元素上?

来自分类Dev

内部元素对外部元素的固定位置

来自分类Dev

我如何绝对定位div并将其保持在其原始顶部位置,并在其上方浮动dom元素?

来自分类Dev

允许绝对定位的元素比父绝对定位的元素宽

来自分类Dev

无绝对定位伪元素

来自分类Dev

绝对定位元素的宽度

来自分类Dev

居中绝对定位伪元素

来自分类Dev

防止与绝对定位的元素重叠

来自分类Dev

水平滚动绝对定位的元素?

来自分类Dev

如何使绝对定位的元素响应?

来自分类Dev

如何使用绝对位置来定位元素?

来自分类Dev

根据滚动位置沿路径绝对定位元素