position-absolute-container-dynamic-002.html (1213B)
1 <!DOCTYPE html> 2 <title>CSS Position Absolute: dynamic changes to containing block height</title> 3 <link rel="author" href="mailto:atotic@google.com"> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=933054"> 7 <meta name="assert" content="Chrome regression: abspos descendant responds to containing block size change through line items"> 8 <style> 9 10 #container { 11 position: relative; 12 } 13 #intermediate { 14 overflow: hidden; 15 width:200px; 16 height:200px; 17 background:red; 18 } 19 #block { 20 height:200px; 21 background:green; 22 } 23 #target { 24 position: absolute; 25 width: 200px; 26 height: 100px; 27 background:green; 28 } 29 </style> 30 <!-- Test for crbug.com/933054 31 Relayout optimizations cause OOF descendant not to be 32 repositioned 33 --> 34 <div id="container"> 35 <div id="intermediate"> 36 <div id="block"></div> 37 <div id="target"></div> 38 </div> 39 </div> 40 41 <script> 42 document.body.offsetTop; 43 test(() => { 44 document.getElementById("block").style.height = "100px"; 45 assert_equals(document.querySelector("#target").offsetTop, 100); 46 }, '#target static position responded to parent relayout'); 47 </script>