chromium/third_party/blink/web_tests/fast/css/sticky/sticky-top-overflow-scroll-by-fragment.html

<!DOCTYPE html>
<html>
<head>
<script>
    function done()
    {
      if (window.testRunner)
          testRunner.notifyDone();
    }

    if (window.location.hash == '') {
        if (window.testRunner)
            testRunner.waitUntilDone();
        window.onhashchange = done;
        location = '#hash';
    }
</script>
<style>
    .group {
        display: inline-block;
        position: relative;
        width: 150px;
        height: 500px;
    }

    #overflow {
        width: 600px;
        height: 550px;
        overflow: hidden; /* Still scrollable with JS */
        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: sticky;
        top: 100px;
        background-color: green;
    }

    .indicator {
        position: absolute;
        top: 0;
        left: 0;
        background-color: red;
    }
</style>
</head>
<body>
    <div id="overflow">
        <div class="spacer"></div>
        <div class="group">
            <div class="indicator box" style="top: 200px;"></div>
            <div class="container">
                <div class="sticky box"></div>
            </div>
        </div>

        <div class="group" style="top: 100px">
            <div class="indicator box" style="top: 120px;"></div>
            <div class="container">
                <div class="sticky box"></div>
            </div>
        </div>

        <div class="group" style="top: 240px">
            <div class="indicator box" style="top: 0;"></div>
            <div class="container">
                <div class="sticky box"></div>
            </div>
        </div>
        <div id="hash" class="hash" style="top: 120px;">
        </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>