<html> | |
<head> | |
<style> | |
#clipper { | |
width: 550px; | |
height: 550px; | |
overflow:hidden; | |
} | |
#trigger { | |
/* Only overlap with the contents element, not the stretch element */ | |
-webkit-transform:translateZ(0); | |
position: absolute; | |
top: 0px; | |
left: 0px; | |
width: 500px; | |
height: 200px; | |
} | |
#container { | |
/* Force compositing for this layer if any children get composited */ | |
-webkit-transform:translate(0px, 1px); | |
} | |
#negative { | |
/* Trigger foreground layer from container */ | |
z-index: -1; | |
position: absolute; | |
} | |
#contents { | |
/* foreground layer contents */ | |
width: 550px; | |
height: 550px; | |
background-color: green; | |
} | |
/* Move this element to stretch container to have a negative offset */ | |
#stretch { | |
position: absolute; | |
background-color: blue; | |
top: 200px; | |
left: -200px; | |
width: 50px; | |
height: 50px; | |
} | |
</style> | |
<script> | |
if (window.testRunner) | |
testRunner.dumpAsText(true); | |
function doTest() | |
{ | |
if (window.testRunner) | |
testRunner.display(); | |
document.getElementById("stretch").style.left = "-100px"; | |
} | |
window.addEventListener('load', doTest, false); | |
</script> | |
</head> | |
<body> | |
<div id="trigger"></div> | |
<div id="clipper"> | |
<div id="container"> | |
<img id="contents"> | |
<div id="stretch"></div> | |
<div id="negative"></div> | |
</div> | |
</div> | |
</body> |