Status: FAIL | Duration: 10ms | Subtests: 0/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi
/css/css-anchor-position/position-visibility-remove-anchors-visible.html
<!DOCTYPE html> <html class=reftest-wait> <meta charset="utf-8"> <meta name="assert" content="Removing position-visibility: anchors-visible from an invisible anchored element should cause it to become visible." /> <title>CSS Anchor Positioning Test: position-visibility: anchors-visible</title> <link rel="help" href="https://drafts.csswg.org/css-anchor-position-1/#position-visibility"> <link rel="match" href="position-visibility-remove-anchors-visible-ref.html"> <script src="/common/reftest-wait.js"></script> <script src="/common/rendering-utils.js"></script> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> <style> #scroll-container { overflow: hidden scroll; width: 300px; height: 100px; font: 20px/1 Ahem; } #anchor { anchor-name: --a1; width: 100px; height: 100px; background: orange; font: 20px/1 Ahem; } #spacer { height: 100px; } #target { position-anchor: --a1; position-visibility: anchors-visible; position-area: bottom; width: 100px; height: 100px; background: green; position: absolute; inset: 0; font: 20px/1 Ahem; } </style> <div id="scroll-container"> <div id="anchor">anchor</div> <div id="spacer"></div> <div id="target">target</div> </div> <script> // #target should be initially visible because it is anchored to #anchor, // which is visible. // Scroll #anchor so that it is no longer visible. const scroller = document.getElementById('scroll-container'); scroller.scrollTop = 100; waitForAtLeastOneFrame().then(() => { // Remove position-visibility: anchors-visible. #target should become // visible again. target.style.positionVisibility = 'always'; takeScreenshot(); }); </script>
/css/css-anchor-position/position-visibility-remove-anchors-visible-ref.html
<!DOCTYPE html> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> <style> #scroll-container { overflow: hidden scroll; width: 300px; height: 100px; font: 20px/1 Ahem; } #target { width: 100px; height: 100px; margin-top: 100px; background: green; font: 20px/1 Ahem; } </style> <div id="scroll-container"> <div id="target">target</div> </div> <script> const scroller = document.getElementById('scroll-container'); scroller.scrollTop = 100; </script>