summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-anchor-position/anchor-position-dynamic-002.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/css/css-anchor-position/anchor-position-dynamic-002.html')
-rw-r--r--testing/web-platform/tests/css/css-anchor-position/anchor-position-dynamic-002.html55
1 files changed, 55 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-anchor-position/anchor-position-dynamic-002.html b/testing/web-platform/tests/css/css-anchor-position/anchor-position-dynamic-002.html
new file mode 100644
index 0000000000..e97ae5e12b
--- /dev/null
+++ b/testing/web-platform/tests/css/css-anchor-position/anchor-position-dynamic-002.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<link rel="help" href="https://drafts.csswg.org/css-anchor-1/#propdef-anchor-name">
+<link rel="author" href="mailto:kojii@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;
+}
+#anchor1 {
+ anchor-name: --a1;
+}
+#anchor2 {
+ anchor-name: --a2;
+}
+#anchor1, #anchor2 {
+ width: 5px;
+ height: 7px;
+ background: orange;
+}
+.after #anchor1, .after #anchor2 {
+ width: 10px;
+}
+.target {
+ position: absolute;
+}
+</style>
+<body>
+ <div id="container">
+ <!-- When the anchor is in the same containing block. -->
+ <div id="anchor1"></div>
+ <div class="target" style="left: anchor(--a1 right)" data-offset-x=5></div>
+ <div class="target" style="width: anchor-size(--a1 width)" data-expected-width=5></div>
+
+ <!-- When the anchor is in a different containing block. -->
+ <div>
+ <div id="anchor2"></div>
+ </div>
+ <div class="target" style="left: anchor(--a2 right)" data-offset-x=5></div>
+ <div class="target" style="width: anchor-size(--a2 width)" data-expected-width=5></div>
+ </div>
+<script type="module">
+await checkLayoutForAnchorPos('.target', false);
+container.classList.add('after');
+for (const element of document.getElementsByClassName('target')) {
+ if (element.dataset.offsetX === '5')
+ element.dataset.offsetX = '10';
+ if (element.dataset.expectedWidth === '5')
+ element.dataset.expectedWidth = '10';
+}
+await checkLayoutForAnchorPos('.after .target', true);
+</script>
+</body>