【发布时间】:2019-03-27 01:02:04
【问题描述】:
举个例子
function clickme() {
console.log(' button been clicked')
}
.d1,
.d2 {
border: 1px solid red;
z-index: -99;
opacity: .5;
position: relative;
}
.d2>button {
transform: translateY(50px);
}
<div class="d1">
<button onclick="clickme();">Click Me</button>
</div>
<br>
<div class="d2">
<button onclick="clickme();">Click Me</button>
</div>
为什么当按钮移到它的父级之外时,它变成了可点击的?
编辑:
我使用transform: translateY(50px);移动按钮,但我们也可以使用position:relative;top:50px;移动按钮,但问题仍然存在。
【问题讨论】:
-
z-index不适用于具有静态(默认)定位的元素。添加position: relative;应用它。至于变换,见stackoverflow.com/questions/20851452/… -
移动元素不一定要transform,我们可以在按钮上应用
position:relative;top:50px;同样会发生 -
我很确定您知道 z-index 与 position:relative 一起使用,因此您可以将问题减少到外部/内部部分:为什么我们可以在外部而不是内部时单击?
-
我认为添加该部分可以更多地解释这个问题。
-
不,您关注的是 position:relative 这根本不是问题.. 我建议您编辑问题,以便我们了解主要问题,而不是关注 z-index 和静态元素
标签: css