我有一个静态元素,位于固定元素之上。单击上部静态元素时,我想将此单击传递给固定元素。我怎样才能做到这一点?这是一个工作示例(我无法在JSFiddle中使用它)。
<body>
<div class="lower" onclick="lowerClick()"></div>
<div class="upper" onclick="upperClick()"></div>
</body>
<script>
function lowerClick() {
alert("LOWER CLICK");
};
function upperClick() {
alert("UPPER CLICK");
};
</script>
//CSS file
.lower {
height: 100px;
width: 100%;
z-index: -1;
position: fixed;
background-color:blue;
}
.upper {
height: 50px;
width: 100%;
z-index: 1;
position: static;
background-color:red;
pointer-events: none;
}
我认为将pointer-events:none
添加到我的上层元素会使其工作,但是当我点击顶部元素时,没有任何反应。
答案 0 :(得分:1)
事实上pointer-events:none
预计会有效。但阻止您点击lower
的是body
元素。由于在z-index:-1
上设置了lower
,因此会将其发送到其父级(body
)的后面。因此,您可以将z-index
的{{1}}设置为更负数,当然body
应该是postion
以外的其他值(默认值):
static
答案 1 :(得分:0)
您可以使用以下css作为上部div
.upper {
pointer-events:none;
}
...也避免负z-index,而是使用1代表lower,2代表upper代表。还有为什么把静态而非绝对元素放在顶部?