| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>Snap points - nested snap coordinates</title> |
| <style> |
| #container { |
| position: absolute; |
| width: 300px; |
| height: 300px; |
| top: 100px; |
| left: 100px; |
| } |
| |
| .scrollable { |
| overflow: scroll; |
| -webkit-overflow-scrolling: touch; |
| height: 300px; |
| margin: 0 10px; |
| } |
| |
| ::-webkit-scrollbar { |
| display: none; |
| } |
| |
| .center-snap-receiver { |
| scroll-snap-type: y mandatory; |
| } |
| |
| .snap-point-marker { |
| margin-top: 100px; |
| width: 15px; |
| height: 15px; |
| } |
| |
| .snap-point-start { |
| scroll-snap-align: start; |
| background-color: red; |
| opacity: 0.5; |
| } |
| |
| .snap-point-center { |
| scroll-snap-align: center; |
| background-color: green; |
| opacity: 0.5; |
| } |
| |
| .snap-point-end { |
| scroll-snap-align: end; |
| background-color: blue; |
| opacity: 0.5; |
| } |
| |
| .large-content { |
| height: 3000px; |
| width: 100%; |
| } |
| |
| .small-content { |
| height: 200px; |
| width: 100%; |
| } |
| |
| .invalidContainer { |
| background-color: black; |
| opacity: 0.1; |
| height: 300px; |
| margin: 0 10px; |
| opacity: 0.5; |
| overflow: hidden; |
| } |
| |
| #alignment-marker-box { |
| position: absolute; |
| top: 0; |
| left: 0; |
| width: 300px; |
| height: 300px; |
| top: 100px; |
| left: 100px; |
| z-index: -1; |
| margin: 0 10px; |
| } |
| |
| .alignment-marker { |
| position: absolute; |
| width: 100%; |
| height: 1px; |
| } |
| </style> |
| <script src="../../resources/js-test.js"></script> |
| <script> |
| function runTest() |
| { |
| var container = document.getElementById('container'); |
| debug("Scroll-snap offsets for 'container': " + window.internals.scrollSnapOffsets(container)); |
| |
| finishJSTest(); |
| } |
| |
| function onLoad() |
| { |
| jsTestIsAsync = true; |
| if (window.testRunner) |
| setTimeout(runTest, 0); |
| } |
| </script> |
| </head> |
| <body onload="onLoad();"> |
| <div id="container" class="center-snap-receiver scrollable"> |
| <div id="snap-child-1" class="snap-point-start snap-point-marker"></div> |
| <div class="nested"> |
| <div id="snap-child-2" class="snap-point-center snap-point-marker"></div> |
| </div> |
| <div class="nested"> |
| <div class="nested"> |
| <div id="snap-child-3" class="snap-point-start snap-point-marker"></div> |
| </div> |
| </div> |
| <div id="snap-child-4" class="snap-point-start snap-point-marker"></div> |
| <div id="snap-child-5" class="snap-point-start snap-point-marker"></div> |
| <div class="nested"> |
| <div id="snap-child-6" class="snap-point-start snap-point-marker"></div> |
| </div> |
| <div id="snap-child-7" class="snap-point-start snap-point-marker"></div> |
| <div class="nested"> |
| <div id="snap-child-8" class="snap-point-center snap-point-marker"></div> |
| </div> |
| <div id="snap-child-9" class="snap-point-start snap-point-marker"></div> |
| <div id="snap-child-10" class="snap-point-center snap-point-marker"></div> |
| <div class="nested"> |
| <div id="snap-child-11" class="snap-point-start snap-point-marker"></div> |
| </div> |
| <div id="snap-child-12" class="snap-point-start snap-point-marker"></div> |
| <div class="nested"> |
| <div id="snap-child-13" class="snap-point-start snap-point-marker"></div> |
| </div> |
| <div class="nested"> |
| <div class="nested"> |
| <div id="snap-child-14" class="snap-point-end snap-point-marker"></div> |
| </div> |
| </div> |
| <div id="snap-child-15" class="snap-point-end snap-point-marker"></div> |
| <div class="large-content"></div> |
| </div> |
| <div id="alignment-marker-box"> |
| <div style="border-bottom: 2px red solid;" class="alignment-marker"></div> |
| <div style="border-bottom: 2px green solid; top: 150px;" class="alignment-marker"></div> |
| <div style="border-bottom: 2px blue solid; top: 300px;" class="alignment-marker"></div> |
| </div> |
| </body> |
| </html> |