chromium/third_party/blink/web_tests/external/wpt/css/css-scroll-snap/scroll-target-snap-002.html

<!DOCTYPE html>
<html>
<title>scrollIntoView() and snap position with snapping on (y-axis)</title>
<link rel='author' title='Elika J. Etemad' href='http://fantasai.inkedblade.net/contact'>
<link rel='help' href='https://www.w3.org/TR/css-scroll-snap-1/#choosing'>
<link rel='match' href='scroll-target-001-ref.html'>
<meta name='assert'
      content="Test passes if scroll snapping is honored
               when scrolling an element into view
               explicitly by script.">

<style type='text/css'>
  .container {
    border: solid blue 4px;
    height: 4em;
    overflow: auto;
    scroll-snap-type: block;

    /* to make failing more obvious */
    background: 0 1em / 100% 1em linear-gradient(red, red) repeat-x;
    /* avoid anti-aliasing issues */
    font: 20px/1 sans-serif;
    scrollbar-width: none;
  }
  .container > div {
    height: 1em;
  }
  /* Note: we use "start" for #target to avoid spec ambiguity where
   * scroll-snap-align conflicts with default ScrollIntoViewOptions.
   * See https://github.com/w3c/csswg-drafts/issues/9576.
   */
  #target    { scroll-margin:    2em 0 0;
               scroll-snap-align: start;  } /* set up a snap position      */
  #stripe    { background: green;         } /* color part of the snap area */
  .fail      { color: red;                } /* make failing more obvious   */

  /* Try to foil the UA */
  .foilup { margin-bottom: -1em; scroll-snap-align: start; }
  .foildn { margin-top:    -1em; scroll-snap-align: end; }
  /* emulate `scrollbar-width: none` for browsers that don't support it yet */
  ::-webkit-scrollbar { display: none; }
</style>

<div id='instructions'>Test passes if there is a green stripe across the second quarter of the box below and no red.</div>

<div class="container">
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div class="foilup"></div>
  <div class="fail">FAIL</div>
  <div></div>
  <div id="stripe"></div>
  <div class="foilup"></div>
  <div id="target"></div>
  <div class="foildn"></div>
  <div></div>
  <div class="fail">FAIL</div>
  <div class="foildn"></div>
  <div></div>
  <div class="foildn"></div>
  <div></div>
  <div></div>
  <div></div>
</div>

<script>
  document.getElementById('target').scrollIntoView();
</script>