blob: 2916a2db25e83020e5ec42f264c18be5893b2f95 [file] [log] [blame]
<!DOCTYPE html>
<!-- This tests that top layer elements are rendered above z-indexed elements
and stacked in the correct order amongst themselves. Also, layer features like
transforms and z-index are tested inside a top layer element subtree. -->
<html>
<head>
<style>
.box {
height:150px;
width:150px;
}
::backdrop {
display: none;
}
.container {
-webkit-perspective: 500px;
border: 1px solid black;
background-color: magenta;
}
.transformed {
transform: rotateY(45deg);
background-color: cyan;
}
</style>
</head>
<body>
<dialog id="hiddenDialog" style="display: none; color: red">This should not be displayed.</dialog>
<dialog id="topDialog" style="position: fixed; top: 10px; z-index: -10;">
This white box is the topmost modal dialog. It should be on top of everything.
</dialog>
<div style="position: absolute; top: 0px; z-index: 3; background-color: red; left: 0; right: 0; height: 200px;">
<dialog id="bottomDialog" style="position: absolute; top: 50px; background-color: green; width: 75%; height: 400px;">
This green box is also a modal dialog. It should be rendered above the red and yellow regions.
<div class="container box">
<div class="transformed box">A transform within the dialog's subtree.</div>
</div>
<div class="box" style="position: absolute; top:300px; z-index: 2; background-color: cyan">
This shows z-index stacking within the dialog's subtree. The cyan box should be on top of the magenta one.
</div>
<div class="box" style="position: absolute; top:350px; left:50px; z-index: 1; background-color: magenta"></div>
<div style="position: fixed; top: 90px; left: 30px; background-color: green">This is part of the green dialog.</div>
</dialog>
</div>
<div style="position: absolute; top: 100px; left: 0px; right: 0px; height: 200em; background-color: yellow; z-index:1000">
</div>
<script>
document.getElementById('bottomDialog').showModal();
document.getElementById('topDialog').showModal();
document.getElementById('hiddenDialog').showModal();
</script>
</body>
</html>