118 lines
2.4 KiB
HTML
118 lines
2.4 KiB
HTML
<html>
|
|
<head>
|
|
<title>Hit test overlapping 3d elements</title>
|
|
<script src="point-mapping-helpers.js" type="text/javascript" charset="utf-8"></script>
|
|
|
|
<script type="text/javascript" charset="utf-8">
|
|
|
|
function test()
|
|
{
|
|
dispatchEvent(285, 50, 'box2', 198, 2);
|
|
dispatchEvent(174, 108, 'box3', 50, 2);
|
|
|
|
dispatchEvent(61, 50, 'overlay', 39, 28);
|
|
dispatchEvent(119, 108, 'overlay', 97, 86);
|
|
}
|
|
|
|
</script>
|
|
<style type="text/css" media="screen">
|
|
|
|
body {
|
|
margin: 0;
|
|
border: 1px solid black;
|
|
cursor: crosshair;
|
|
}
|
|
|
|
.test {
|
|
display: inline-block;
|
|
position: relative;
|
|
height: 300px;
|
|
width: 300px;
|
|
border: 1px solid black;
|
|
margin: 20px;
|
|
}
|
|
|
|
.box {
|
|
height: 200px;
|
|
width: 200px;
|
|
-webkit-box-sizing: border-box;
|
|
background-color: #DDD;
|
|
border: 1px solid black;
|
|
}
|
|
|
|
.box:hover {
|
|
outline: 3px solid orange;
|
|
}
|
|
|
|
.container {
|
|
position: absolute;
|
|
height: 260px;
|
|
width: 260px;
|
|
margin: 20px;
|
|
border: 1px solid black;
|
|
-webkit-box-sizing: border-box;
|
|
-webkit-perspective: 400;
|
|
}
|
|
|
|
.transformed {
|
|
position: absolute;
|
|
top: 20px;
|
|
left: 30px;
|
|
height: 200px;
|
|
width: 200px;
|
|
border: 1px solid black;
|
|
background-color: #AAA;
|
|
-webkit-box-sizing: border-box;
|
|
-webkit-transform: translateZ(50px);
|
|
}
|
|
|
|
#overlay {
|
|
position: absolute;
|
|
height: 300px;
|
|
width: 150px;
|
|
background-color: rgba(0, 128, 0, 0.3);
|
|
-webkit-transform: translateZ(100px);
|
|
}
|
|
|
|
.inner {
|
|
position: relative;
|
|
background-color: blue;
|
|
height: 100px;
|
|
width: 100px;
|
|
margin: 50px;
|
|
}
|
|
|
|
#results {
|
|
position: absolute;
|
|
left: 30px;
|
|
top: 400px;
|
|
}
|
|
|
|
#mousepos {
|
|
position: absolute;
|
|
left: 30px;
|
|
top: 700px;
|
|
color: gray;
|
|
font-size: smaller;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body onclick="clicked(event)">
|
|
|
|
<div id="results"></div>
|
|
<div class="test">
|
|
<!-- Simple transformed div in perpsective -->
|
|
<div class="container box" id="box1">
|
|
<div class="transformed box" id="box2">
|
|
<div class="inner" id="box3"></div>
|
|
</div>
|
|
</div>
|
|
<div id="overlay"></div>
|
|
</div>
|
|
<p>The green overlay is translated in Z by 100px, so should hit test in front relative to the blue box.</p>
|
|
|
|
<div id="mousepos"></div>
|
|
|
|
</body>
|
|
</html>
|