summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-scroll-snap/scroll-target-snap-002.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/css/css-scroll-snap/scroll-target-snap-002.html')
-rw-r--r--testing/web-platform/tests/css/css-scroll-snap/scroll-target-snap-002.html70
1 files changed, 70 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-scroll-snap/scroll-target-snap-002.html b/testing/web-platform/tests/css/css-scroll-snap/scroll-target-snap-002.html
new file mode 100644
index 0000000000..6e928a435e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-scroll-snap/scroll-target-snap-002.html
@@ -0,0 +1,70 @@
+<!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>