<style>
  * {
    bottom: 0;
    scroll-snap-type: x;
    scroll-margin: 1em 0 0;
    width: 1500px;
  }
  :not(:empty) {
    scroll-snap-align: center;
  }
  :nth-of-type(1) {
    position: fixed;
  }
  :read-write {
    font-size: 0;
    transform: rotate(-30deg);
  }
  :last-child {
    width: 0;
  }
</style>
<script>
  onload = () => {
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }

    document.body.offsetTop;
    document.body.appendChild(document.createElement('span'));
    let n0 = document.createElement('div');
    n0.appendChild(document.createElement('frame'));
    document.body.appendChild(n0);
    document.documentElement.appendChild(document.createElement('div'));
    document.body.offsetTop;
    document.designMode = 'on';

    setTimeout(() => {
        document.body.innerHTML = 'PASS';
        testRunner.notifyDone();
    }, 0);
  };
</script>
<body></body>

