| <!DOCTYPE html> |
| <html> |
| <title>scrollIntoView() and snap position with snapping off (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="flags" content="may"> |
| <meta name='assert' |
| content="Test passes if scroll snapping is honored |
| on a scroll container with 'scroll-snap-type: none' |
| when scrolling an element into view |
| explicitly by script."> |
| |
| <style type='text/css'> |
| .container { |
| border: solid blue 4px; |
| height: 4em; |
| overflow: auto; |
| |
| /* 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; |
| } |
| .container { scroll-padding: .5em 0 0; } /* set up a snap position */ |
| #target { scroll-margin: .5em 0 0; |
| scroll-snap-align: center; } |
| #stripe { background: green; } /* color part of the snap area */ |
| .fail { color: red; } /* make failing more obvious */ |
| |
| /* 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="fail">FAIL</div> |
| <div></div> |
| <div id="stripe"></div> |
| <div id="target"></div> |
| <div></div> |
| <div class="fail">FAIL</div> |
| <div></div> |
| <div></div> |
| <div></div> |
| <div></div> |
| </div> |
| |
| <script> |
| document.getElementById('target').scrollIntoView(); |
| </script> |