blob: 26b622e718c1c38110d45bf99de598dfbc2492b6 [file] [log] [blame]
<!DOCTYPE html>
<title>
CSS Scroll Snap Reference
</title>
<style>
.wrapper {
/* lay out in a nice grid */
display: grid;
gap: 0.25em;
grid-template-columns: repeat(6, max-content);
}
.scroller {
width: 50px;
height: 50px;
border: solid silver;
border-block-start-color: blue;
border-inline-start-color: blue;
position: relative;
}
.target {
width: 30px;
height: 30px;
background: orange;
top: 0; left: 0; right: 0; bottom: 0;
position: absolute;
}
.TB { writing-mode: horizontal-tb; }
.LR { writing-mode: vertical-lr; }
.RL { writing-mode: vertical-rl; }
.ltr { direction: ltr; }
.rtl { direction: rtl; }
.TB.large.invert .target { top: auto; }
.LR.large.invert .target { left: auto; }
.RL.large.invert .target { right: auto; }
.TB.ltr.large.invert .target { left: auto; }
.TB.rtl.large.invert .target { right: auto; }
.LR.ltr.large.invert .target { top: auto; }
.LR.rtl.large.invert .target { bottom: auto; }
.RL.ltr.large.invert .target { top: auto; }
.RL.rtl.large.invert .target { bottom: auto; }
/* not absolutizing the border colors, so that the test passes even if css-logical is not supported; */
.large.invert {
border: solid silver;
border-block-end-color: blue;
border-inline-end-color: blue;
}
</style>
<p>Test passes if there is an orange square tucked into each blue corner without gaps,
and there is no red.
<div class="wrapper">
<!-- Simple Small Cases -->
<div class="scroller TB ltr small">
<div class="target"></div>
</div>
<div class="scroller LR ltr small">
<div class="target"></div>
</div>
<div class="scroller RL ltr small">
<div class="target"></div>
</div>
<div class="scroller TB rtl small">
<div class="target"></div>
</div>
<div class="scroller LR rtl small">
<div class="target"></div>
</div>
<div class="scroller RL rtl small">
<div class="target"></div>
</div>
<!-- Target-inverted Small Cases
This row should be identical to the previous. -->
<div class="scroller TB ltr small invert">
<div class="target"></div>
</div>
<div class="scroller LR ltr small invert">
<div class="target"></div>
</div>
<div class="scroller RL ltr small invert">
<div class="target"></div>
</div>
<div class="scroller TB rtl small invert">
<div class="target"></div>
</div>
<div class="scroller LR rtl small invert">
<div class="target"></div>
</div>
<div class="scroller RL rtl small invert">
<div class="target"></div>
</div>
<!-- Simple Large Cases -->
<div class="scroller TB ltr large">
<div class="target"></div>
</div>
<div class="scroller LR ltr large">
<div class="target"></div>
</div>
<div class="scroller RL ltr large">
<div class="target"></div>
</div>
<div class="scroller TB rtl large">
<div class="target"></div>
</div>
<div class="scroller LR rtl large">
<div class="target"></div>
</div>
<div class="scroller RL rtl large">
<div class="target"></div>
</div>
<!-- Target-inverted Large Cases
This is the fun one. -->
<div class="scroller TB ltr large invert">
<div class="target"></div>
</div>
<div class="scroller LR ltr large invert">
<div class="target"></div>
</div>
<div class="scroller RL ltr large invert">
<div class="target"></div>
</div>
<div class="scroller TB rtl large invert">
<div class="target"></div>
</div>
<div class="scroller LR rtl large invert">
<div class="target"></div>
</div>
<div class="scroller RL rtl large invert">
<div class="target"></div>
</div>
</div> <!-- wrapper -->