Status: FAIL | Duration: 12ms | Subtests: 0/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi
/css/css-anchor-position/position-visibility-anchors-visible-chained-004.html
<!DOCTYPE html> <html class=reftest-wait> <meta charset="utf-8"> <title>CSS Anchor Positioning Test: position-visibility: anchors-visible</title> <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/7758"> <link rel="match" href="position-visibility-anchors-visible-chained-004-ref.html"> <script src="/common/reftest-wait.js"></script> <script src="/common/rendering-utils.js"></script> <style> #scroll-container { overflow: hidden scroll; scrollbar-width: none; width: 300px; height: 100px; } #anchor1 { anchor-name: --a1; width: 100px; height: 100px; background: orange; } #anchor2 { anchor-name: --a2; width: 100px; height: 50px; background: blue; } .spacer { height: 100px; } .anchored { position-visibility: anchors-visible; position-area: bottom center; width: 100px; height: 50px; background: green; position: absolute; inset: 0; } #chained { position-anchor: --a1; } #target { position-anchor: --a2; } </style> <div id="scroll-container"> <div id="anchor1">anchor1</div> <div class="spacer"></div> <div id="chained" class="anchored"> <div id="anchor2">chained</div> </div> <div id="target" class="anchored">target</div> </div> <script> // #target should be initially visible because it is anchored to #anchor2 // which is chained to #anchor1 and both anchors are visible. waitForAtLeastOneFrame().then(() => { // Scroll #anchor out of view. const scroller = document.getElementById('scroll-container'); scroller.scrollTop = 100; // #target1 should now be invisible. waitForAtLeastOneFrame().then(() => { // Scroll #anchor back into view. scroller.scrollTop = 0; // #target should now be visible again. takeScreenshot(); }); }); </script>
/css/css-anchor-position/position-visibility-anchors-visible-chained-004-ref.html
<!DOCTYPE html> <meta charset="utf-8"> <style> #scroll-container { overflow: hidden scroll; scrollbar-width: none; width: 300px; height: 100px; } #anchor { width: 100px; height: 100px; background: orange; margin-bottom: 100px; } #chained { width: 100px; height: 50px; background: blue; } #target { width: 100px; height: 50px; background: green; } </style> <div id="scroll-container"> <div id="anchor">anchor1</div> </div> <div id="chained">chained</div> <div id="target">target</div>