<!DOCTYPE html>
<html>
<head>
<style>
body {
margin: 0;
width: 2000px;
overflow: hidden; /* hide scrollbars */
}
p {
position: relative;
left: 100px;
}
.group {
position: relative;
width: 500px;
height: 200px;
}
.container {
width: 400px;
height: 180px;
outline: 2px solid black;
}
.box {
width: 200px;
height: 180px;
}
.sticky {
position: sticky;
left: 100px;
background-color: green;
}
.indicator {
position: absolute;
top: 0;
left: 0;
background-color: red;
}
</style>
<script>
function doTest()
{
window.scrollTo(100, 0);
}
window.addEventListener('load', doTest, false);
</script>
</head>
<body>
<p>Block</p>
<div class="group" style="left: 100px">
<div class="indicator box" style="left: 100px;"></div>
<div class="container">
<div class="sticky box"></div>
</div>
</div>
<p>Table</p>
<div class="group" style="left: 100px">
<div class="indicator box" style="left: 100px;"></div>
<div class="container">
<div class="sticky box"></div>
</div>
</div>
<p>Grid</p>
<div class="group" style="left: 100px">
<div class="indicator box" style="left: 100px;"></div>
<div class="container">
<div class="sticky box"></div>
</div>
</div>
<p>Flex box</p>
<div class="group" style="left: 100px">
<div class="indicator box" style="left: 100px;"></div>
<div class="container">
<div class="sticky box"></div>
</div>
</div>
<div style="position: absolute; top: 500px;">
This test checks the behavior of position:sticky with various display values.
There should be no red.
</div>
</body>
</html>