Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE html>
<meta name="viewport" content="width=device-width,initial-scale=1">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
.content {
overflow-y: scroll;
scroll-snap-type: y mandatory;
white-space: nowrap;
max-height: 800px;
border: 2px solid black;
/* padding-right so you can see the scrollbar: */
padding-right: 10px;
writing-mode: vertical-lr;
}
.item {
height: 500px;
width: 200px;
border: 3px solid orange;
box-sizing: border-box;
scroll-snap-align: start;
display: inline-block;
writing-mode: horitontal-tb;
}
</style>
<div id="scroller" class="content">
<!-- There's intentionally no whitespace between these tags, so that they're
laid out flush with each other with no space character between them. -->
<div class="item" style="height: 610px; background:teal"></div
><div class="item" style="height: 200px; background:pink"></div>
</div>
<script>
test(() => {
scroller.scrollTop = 6;
assert_equals(scroller.scrollTop, 10);
}, "Snaps to the positions defined by the element as much as possible");
</script>