55 lines
1017 B
HTML
55 lines
1017 B
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<style>
|
|
|
|
body {
|
|
margin: 0;
|
|
}
|
|
|
|
body > div {
|
|
position: absolute;
|
|
width: 0;
|
|
height: 500px;
|
|
|
|
/* box-shadow should not be accounted for to specify the clipping bounds */
|
|
box-shadow: 100px 100px 0px blue;
|
|
overflow-x: hidden;
|
|
margin: 100px;
|
|
}
|
|
|
|
#container-with-width {
|
|
width: 300px;
|
|
background-color: red;
|
|
}
|
|
|
|
#container-with-width:hover {
|
|
background-color: green;
|
|
}
|
|
|
|
#clipped-child {
|
|
width: 100px;
|
|
height: 100%;
|
|
}
|
|
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div id="container-with-width"></div>
|
|
<div id="container-without-width">
|
|
<div id="clipped-child"></div>
|
|
</div>
|
|
<script>
|
|
|
|
if (window.testRunner)
|
|
testRunner.dumpAsText();
|
|
|
|
const result = document.body.appendChild(document.createElement("span"));
|
|
const hitTestElement = document.elementFromPoint(150, 150);
|
|
const pass = hitTestElement.id == "container-with-width";
|
|
result.textContent = `${pass ? "PASS" : "FAIL"}: target element is #${hitTestElement.id}`;
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|