<!DOCTYPE html>
<html>
<head>
<style>
.group {
display: inline-block;
position: relative;
width: 150px;
height: 500px;
}
#overflow {
width: 600px;
height: 550px;
overflow: hidden;
border: 1px solid black;
position: relative;
}
.spacer {
float: left;
width: 10px;
height: 500px;
}
.container {
width: 100px;
height: 400px;
outline: 2px solid black;
}
.box {
width: 100px;
height: 200px;
}
.hash {
width: 600px;
height: 10px;
background-color: gray;
position: absolute;
border: 0px;
}
.sticky {
position: relative;
top: 100px;
background-color: green;
}
</style>
</head>
<body>
<div id="overflow">
<div class="spacer"></div>
<div class="group" style="top: -120px">
<div class="container">
<div class="sticky box" style="top: 200px"></div>
</div>
</div>
<div class="group" style="top: -20px">
<div class="container">
<div class="sticky box" style="top: 120px"></div>
</div>
</div>
<div class="group" style="top: 120px">
<div class="container">
<div class="sticky box" style="top: 0"></div>
</div>
</div>
<div id="hash" class="hash" style="top: 0;">
</div>
</div>
<div style="position: absolute; top: 560px;">
This test checks that sticky positioning when scrolled by fragment.
There should be no red.
</div>
</body>
</html>