blob: 6e928a435eb5c21c5d87a1754965336e1f3b7375 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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>
|