| <!DOCTYPE html> |
| <title>CSS Conditional Test: @container anchored(fallback) matching <custom-ident></title> |
| <link rel="help" href="https://drafts.csswg.org/css-anchor-position-2/#anchored-container-queries"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/css/css-conditional/container-queries/support/cq-testcommon.js"></script> |
| <style> |
| #anchor { |
| anchor-name: --a; |
| width: 100px; |
| height: 100px; |
| } |
| @position-try --foo { |
| position-area: bottom; |
| } |
| @position-try --bar { |
| position-area: top; |
| } |
| .anchored { |
| position: absolute; |
| position-anchor: --a; |
| position-area: top; |
| width: 100px; |
| /* Too tall to fit over the anchor to trigger fallback */ |
| height: 100px; |
| container-type: anchored; |
| } |
| #a1 { |
| position-try-fallbacks: --foo; |
| } |
| #t1 { |
| @container anchored(fallback: --foo) { --pass: yes; } |
| } |
| #a2 { |
| position-try-fallbacks: --bar, --bar flip-block; |
| } |
| #t2 { |
| @container anchored(fallback: --bar flip-block) { --pass: yes; } |
| @container anchored(fallback: --bar) { --pass: no; } |
| } |
| </style> |
| <div id="anchor"></div> |
| <div id="a1" class="anchored"> |
| <div id="t1"></div> |
| </div> |
| <div id="a2" class="anchored"> |
| <div id="t2"></div> |
| </div> |
| <script> |
| test(() => { |
| assert_equals(getComputedStyle(t1).getPropertyValue("--pass"), "yes"); |
| }, "@container anchored(fallback) matching name"); |
| |
| test(() => { |
| assert_equals(getComputedStyle(t2).getPropertyValue("--pass"), "yes"); |
| }, "@container anchored(fallback) matching name with tactics, but not name"); |
| </script> |