【发布时间】:2019-07-16 18:40:21
【问题描述】:
假设我有两个重叠的框 (fiddle)
<html>
<body>
<div class="box">element 1</div>
<div class="box" style="left: 20px; top: 10px; background-color: red;">element 2</div>
<style>
.box {
background-color: green;
position: absolute;
width: 100px;
height: 100px;
border: 1px sold red;
}
</style>
</body>
</html>
有没有办法在 vanilla javascript 中判断哪个框在另一个之上?我只关心用户在上面的视觉感知。
类似下面的东西
isAbove(el1, el2) // false
isAbove(el2, el1) // true
【问题讨论】:
-
以上是什么意思? z-index 更高?
-
@epascarello 这意味着在视觉上高于另一个。问题是如何检查。通过 z-index 进行检查在上面的示例中不起作用。
-
我知道,您的问题不清楚,因此为什么它在过去 6 小时内没有引起注意。删除的答案认为它意味着x,y位置。
-
从概念上讲,您需要找到他们的第一个共同的父母,然后通过声明确定哪个先出现
-
注意,
heght应该是height在 CSS 的问题和链接 jsfiddle