Source code

Revision control

Copy as Markdown

Other Tools

<!DOCTYPE html>
<title>iframe for #target and snap position with snapping on</title>
<style type='text/css'>
html, body {
margin: 0; padding: 0;
}
html {
/* to make failing more obvious */
background: 0 1em / 100% 1em linear-gradient(red, red) repeat-x fixed;
/* avoid anti-aliasing issues */
font: 20px/1 sans-serif;
scrollbar-width: none;
/* turn on snapping */
scroll-snap-type: block;
}
div {
height: 1em;
}
/* Note: we use "start" for #target to avoid spec ambiguity where
* scroll-snap-align conflicts with default ScrollIntoViewOptions.
*/
#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></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>