summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-scroll-snap/snap-after-initial-layout/scroll-snap-initial-layout-000.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/css/css-scroll-snap/snap-after-initial-layout/scroll-snap-initial-layout-000.html')
-rw-r--r--testing/web-platform/tests/css/css-scroll-snap/snap-after-initial-layout/scroll-snap-initial-layout-000.html113
1 files changed, 113 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-scroll-snap/snap-after-initial-layout/scroll-snap-initial-layout-000.html b/testing/web-platform/tests/css/css-scroll-snap/snap-after-initial-layout/scroll-snap-initial-layout-000.html
new file mode 100644
index 0000000000..ea47c9f36c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-scroll-snap/snap-after-initial-layout/scroll-snap-initial-layout-000.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html>
+<title>
+ On-screen vs. Off-screen Snapped Initial Scroll Position (Mandatory and Proximity)
+</title>
+<link rel="help" href="https://drafts.csswg.org/css-scroll-snap-1/#scroll-snap-align">
+<link rel="help" href="https://drafts.csswg.org/css-scroll-snap/#re-snap">
+<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+<!-- Test assumes 2px proximity is enough to snap.
+ If your implementation has a cogent argument as to why this is too much,
+ please request a change to this test. ~fantasai -->
+<link rel="match" href="scroll-snap-initial-layout-000-ref.html">
+
+<style>
+
+.scroller {
+ scroll-snap-type: both mandatory;
+ overflow: hidden;
+ scroll-padding: 0;
+ width: 100px;
+ height: 100px;
+ border: solid blue;
+ margin: 10px;
+ display: inline-block;
+}
+
+.mandatory > .scroller {
+ scroll-snap-type: both mandatory;
+}
+
+.proximity > .scroller {
+ scroll-snap-type: both proximity;
+}
+
+.scroller > div {
+ /* padding wrapper */
+ width: 30px;
+}
+
+.scroller > div > div {
+ /* target box */
+ height: 30px;
+ background: orange;
+ scroll-snap-align: start;
+}
+
+.proxfar {
+ border-color: orange;
+}
+.proxfar > div > div {
+ background: red;
+}
+
+</style>
+
+<p>Test passes if there is an orange square precisely at the top left corner of each blue box (no gap),
+and each orange box is empty.
+
+
+<div class="mandatory">
+ <!-- off-screen -->
+ <div class="scroller">
+ <div style="padding: 110px;"><div class="small-target"></div></div>
+ </div>
+
+ <div class="scroller">
+ <div style="padding-block: 110px;"><div class="small-target"></div></div>
+ </div>
+
+ <div class="scroller">
+ <div style="padding-inline: 110px;"><div class="small-target"></div></div>
+ </div>
+
+ <!-- on-screen -->
+ <div class="scroller">
+ <div style="padding: 90px;"><div class="small-target"></div></div>
+ </div>
+
+ <div class="scroller">
+ <div style="padding-block: 90px;"><div class="small-target"></div></div>
+ </div>
+
+ <div class="scroller">
+ <div style="padding-inline: 90px;"><div class="small-target"></div></div>
+ </div>
+</div>
+
+<div class="proximity">
+ <!-- off-screen -->
+ <div class="scroller proxfar">
+ <div style="padding: 110px;"><div class="small-target"></div></div>
+ </div>
+
+ <div class="scroller proxfar">
+ <div style="padding-block: 110px;"><div class="small-target"></div></div>
+ </div>
+
+ <div class="scroller proxfar">
+ <div style="padding-inline: 110px;"><div class="small-target"></div></div>
+ </div>
+
+ <!-- on-screen -->
+ <div class="scroller">
+ <div style="padding: 2px 110px 110px 2px;"><div class="small-target"></div></div>
+ </div>
+
+ <div class="scroller">
+ <div style="padding: 2px 110px 110px 2px;"><div class="small-target"></div></div>
+ </div>
+
+ <div class="scroller">
+ <div style="padding: 2px 110px 110px 2px;"><div class="small-target"></div></div>
+ </div>
+</div>