【发布时间】:2019-12-11 21:46:14
【问题描述】:
我需要使用 HTML/CSS 创建一个覆盖元素,它只覆盖某个容器,而不是整个页面。我可以使用position:absolute;,然后在任何地方使用0px,但问题是我无法定位应该覆盖的容器,它必须保持静止,然后position:absolute; 将与此容器无关。
所以我尝试将此设置的高度和宽度修复为 100%:
body {
background-color: grey;
}
#ovl {
height: 100%;
width: 100%;
background-color: #a10000a1;
}
#container {
border: 4px dotted blue;
}
<!DOCTYPE html>
<html>
<body>
<div id="container">
<div id="ovl">
This Overlay should hide the images.
</div>
<img height=300 src="1.png" class="imgs" alt="Error!">
<img height=300 src="2.png" class="imgs" alt="Error!">
<img height=300 src="3.png" class="imgs" alt="Error!">
</div>
</body>
</html>
我希望红色覆盖元素会覆盖整个容器和其中的三个图像,但我得到了this。这三个图像(乐谱)没有被红色覆盖层覆盖。我的代码有错误吗?如何解决?
【问题讨论】:
-
那么,叠加层在嵌套的 div 之外?
-
display:grid 如果您将图像覆盖的相同区域分配给叠加层,则可以使用。请参阅下面的答案。
-
@AnuragSrivastava 不幸的是,这并没有解决我的问题。
-
@AxelAnaya 叠加层位于容器 div 内,但如有必要,我可以更改它。