第一篇文章...

因此,问题在于两个子元素可以在其父容器之外选择。

我有一个带有“ overflow:hidden”的容器DIV。在此容器内是一个固定的图像元素,我正在使用它来创建磨砂玻璃覆盖层。所以像这样:

<div id="container1" style="position:fixed; top:0px; left:0px; width:100px; height:100px; z-index:1;">
  content, which is either the unblurred image, or a textarea, depending
</div>
<div id="container2" style="position:fixed; top:0px; left:0px; width:100px; height: 50px; z-index:3; overflow: hidden">
  <img id="frostedIMGcopy" style="position:fixed; top:0px; left:0px; width:100px; height:100px; z-index:2; filter:blur(8px);"/>
  <div id="selectableMenuElement">Menu Option</div>
</div>


其中“ container2”的背景不透明:0.5,且img模糊。这看起来也是我想要的,完全没有问题。我可以调整container2的高度,它会显示适当数量的模糊图像,使其看起来像毛玻璃覆盖层,那里也没有问题。

但是,当我想访问container1下部“未发现”的50px上的内容时,我无法越过应该无法访问的模糊img的不可见部分。它从字面上选择并将图片“ frostedIMGcopy”的“隐藏”部分拖到container2的50px阈值之上。

还有更多事情要做,但这绝对是问题的核心。我的代码实际上存在与textarea的磨砂覆盖层相同的问题。在这种情况下,选择container1的未覆盖文本区域实际上就是选择container2内的文本。同样的问题,但这就是为什么我需要对此进行解决。

我实际代码中的语法很好,否则,一切都可以正常运行。

如果需要的话,我可以发布更多代码,但是问题确实归结为这些概念性元素,对于这里发生的事情我完全迷失了。希望有人能对情况有所了解,所以我不会永远挂在这个细节上。

我唯一能想到的是嵌套的z-index弄乱了东西,但这仍然无法解释为什么container2中的图像可以在其溢出范围之外访问。

感谢您对我的“堆栈溢出”问题的帮助

*编辑代码以反映其使用方式

最佳答案

这是因为属性“ position:fixed”,在这种情况下,该元素是相对于浏览器的Window / viewport而言,而不是相对于父元素,

替换为:

<img id="frostedIMGcopy" style="position:fixed; top:0px; left:0px; width:100px; height:100px; z-index:2; filter:blur(8px);"/>


有了这个:

<img id="frostedIMGcopy" style="position:absolute; top:0px; left:0px; width:100px; height:100px; z-index:2; filter:blur(8px);"/>


对于id =“ selectableMenuElement”也是一样

关于javascript - 容器外的可选元素有溢出:隐藏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31821775/

10-09 23:55
查看更多