diff options
Diffstat (limited to 'testing/web-platform/tests/css/css-anchor-position/anchor-query-fallback.html')
-rw-r--r-- | testing/web-platform/tests/css/css-anchor-position/anchor-query-fallback.html | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-anchor-position/anchor-query-fallback.html b/testing/web-platform/tests/css/css-anchor-position/anchor-query-fallback.html new file mode 100644 index 0000000000..6058d23885 --- /dev/null +++ b/testing/web-platform/tests/css/css-anchor-position/anchor-query-fallback.html @@ -0,0 +1,70 @@ +<!DOCTYPE html> +<title>Tests the fallback value in anchor queries</title> +<link rel="help" href="https://drafts.csswg.org/css-anchor-1/#anchor-pos"> +<link rel="help" href="https://drafts.csswg.org/css-anchor-1/#anchor-size"> +<link rel="author" href="mailto:xiaochengh@chromium.org"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/check-layout-th.js"></script> +<script src="support/test-common.js"></script> +<style> +#container { + position: relative; + display: flex; + flex-wrap: wrap; + width: 300px; +} + +.flex-item { + width: 100px; + height: 50px; + flex: auto; +} + +#a1 { + anchor-name: --a1; + background: orange; +} +#a2 { + anchor-name: --a2; + background: purple; +} + +.target { + position: absolute; +} +</style> + +<body onload="checkLayoutForAnchorPos('.target')"> + <div id="container"> + <div class="flex-item" id="a1"></div> + <div class="flex-item"></div> + <div class="flex-item"></div> + <div class="flex-item"></div> + <div class="flex-item"></div> + <div class="flex-item"></div> + <div class="flex-item"></div> + <div class="flex-item"></div> + <div class="flex-item" id="a2"></div> + + <!-- Fallback due to no valid anchor --> + <div class="target" style="left: anchor(--inexist-anchor left, 50px)" data-offset-x="50"></div> + <div class="target" style="width: anchor-size(--inexist-anchor width, 50px)" data-expected-width="50"></div> + + <!-- Fallback due to wrong axis for anchor() --> + <div class="target" style="left: anchor(--a1 top, 50px)" data-offset-x="50"></div> + <div class="target" style="left: anchor(--a1 bottom, 50px)" data-offset-x="50"></div> + <div class="target" style="top: anchor(--a1 left, 50px)" data-offset-y="50"></div> + <div class="target" style="top: anchor(--a1 right, 50px)" data-offset-y="50"></div> + + <!-- More complicated fallback values --> + <div class="target" style="left: anchor(--inexist-anchor left, 50%)" data-offset-x="150"></div> + <div class="target" style="left: anchor(--inexist-anchor left, calc(20% + 20px))" data-offset-x="80"></div> + <div class="target" style="top: anchor(--a1 left, anchor(--a2 top))" data-offset-y="100"></div> + <div class="target" style="top: anchor(--a1 left, calc((anchor(--a1 bottom) + anchor(--a2 top)) / 2))" data-offset-y="75"></div> + <div class="target" style="width: anchor-size(--inexist-anchor width, 50%)" data-expected-width="150"></div> + <div class="target" style="width: anchor-size(--inexist-anchor width, calc(20% + 20px))" data-expected-width="80"></div> + <div class="target" style="height: anchor-size(--inexist-anchor height, anchor-size(--a1 width))" data-expected-height="100"></div> + <div class="target" style="height: anchor-size(--inexist-anchor height, calc((anchor-size(--a1 width) + anchor-size(--a2 height)) / 2))" data-expected-height="75"></div> + </div> +</body> |