154 lines
3.6 KiB
HTML
154 lines
3.6 KiB
HTML
<html>
|
|
<head>
|
|
<title>More point mapping through 3D transform hierarchies</title>
|
|
<script src="point-mapping-helpers.js" type="text/javascript" charset="utf-8"></script>
|
|
<script type="text/javascript" charset="utf-8">
|
|
|
|
function test()
|
|
{
|
|
// Scroll so that frame view offsets are non-zero
|
|
// window.scrollTo(20, 100);
|
|
|
|
// document.getElementById('overflow').scrollLeft = 80;
|
|
// document.getElementById('overflow').scrollTop = 60;
|
|
|
|
// In non-test mode, show the mouse coords for testing
|
|
if (!window.testRunner)
|
|
document.body.addEventListener('mousemove', mousemoved, false);
|
|
|
|
dispatchEvent(120, 128, 'box4', 2, 2);
|
|
dispatchEvent(336, 87, 'box7', 2, 2);
|
|
dispatchEvent(348, 86, 'box8', 2, 2);
|
|
|
|
dispatchEvent(582, 87, 'box11', 2, 2);
|
|
dispatchEvent(594, 86, 'box12', 2, 2);
|
|
}
|
|
</script>
|
|
<style type="text/css" media="screen">
|
|
|
|
body {
|
|
margin: 0;
|
|
border: 1px solid black;
|
|
cursor: crosshair;
|
|
}
|
|
|
|
.test {
|
|
display: inline-block;
|
|
height: 200px;
|
|
width: 200px;
|
|
border: 1px solid black;
|
|
margin: 20px;
|
|
}
|
|
|
|
.box {
|
|
height: 100px;
|
|
width: 100px;
|
|
-webkit-box-sizing: border-box;
|
|
background-color: #DDD;
|
|
border: 1px solid black;
|
|
}
|
|
|
|
.box:hover {
|
|
outline: 3px solid orange;
|
|
}
|
|
|
|
.container {
|
|
height: 140px;
|
|
width: 140px;
|
|
margin: 20px;
|
|
border: 1px solid black;
|
|
-webkit-box-sizing: border-box;
|
|
-webkit-perspective: 400;
|
|
}
|
|
|
|
.transformed-3d {
|
|
position: relative;
|
|
height: 100px;
|
|
width: 100px;
|
|
padding: 20px;
|
|
margin: 20px;
|
|
border: 1px solid black;
|
|
background-color: #81AA8A;
|
|
-webkit-transform-style: preserve-3d;
|
|
-webkit-box-sizing: border-box;
|
|
}
|
|
|
|
.transformed-flat {
|
|
position: relative;
|
|
height: 100px;
|
|
width: 100px;
|
|
padding: 20px;
|
|
margin: 20px;
|
|
border: 1px solid black;
|
|
background-color: #AA7994;
|
|
-webkit-transform-style: flat;
|
|
-webkit-box-sizing: border-box;
|
|
}
|
|
|
|
.inner {
|
|
background-color: blue;
|
|
height: 90px;
|
|
width: 90px;
|
|
-webkit-transform: rotateY(30deg);
|
|
}
|
|
|
|
#results {
|
|
position: absolute;
|
|
left: 30px;
|
|
top: 500px;
|
|
}
|
|
|
|
#mousepos {
|
|
position: absolute;
|
|
left: 430px;
|
|
top: 400px;
|
|
color: gray;
|
|
font-size: smaller;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body onclick="clicked(event)">
|
|
|
|
<div id="results"></div>
|
|
|
|
<div class="test">
|
|
<!-- preserve-3d element with no transform-->
|
|
<div class="container box" id="box1">
|
|
<div class="transformed-3d box" style="-webkit-transform: rotateY(-30deg);" id="box2">
|
|
<div class="transformed-3d box" id="box3">
|
|
<div class="inner box" id="box4">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="test">
|
|
<!-- layer with no transform-->
|
|
<div class="container box" id="box5">
|
|
<div class="transformed-3d box" style="-webkit-transform: rotateY(-30deg);" id="box6">
|
|
<div class="box" style="position: relative; padding-left: 20px" id="box7">
|
|
<div class="inner box" id="box8">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="test">
|
|
<!-- non-layer with no transform-->
|
|
<div class="container box" id="box9">
|
|
<div class="transformed-3d box" style="-webkit-transform: rotateY(-30deg);" id="box10">
|
|
<div class="box" style="padding-left: 20px" id="box11">
|
|
<div class="inner box" id="box12">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="mousepos"></div>
|
|
|
|
</body>
|
|
</html>
|