| <!DOCTYPE html> | |
| <title>CSS Flexbox Test: Tests correct block size with percentages and dynamic changes</title> | |
| <link rel="author" title="Google LLC" href="http://www.google.com"> | |
| <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> | |
| <link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=999253" /> | |
| <link rel="help" href="https://drafts.csswg.org/css-flexbox/#cross-sizing" /> | |
| <p>Test passes if there is a filled green square and <strong>no red</strong>.</p> | |
| <!-- Each item should stretch to the size of the flex line. Because the first | |
| item has no explicit height, the percentage should resolve to zero in | |
| the line height calculation stage, so the second item should determine | |
| the total height (500px at first, 100px after the change). When the first | |
| item gets relaid out for stretching, the percentage can resolve. | |
| The bug that motivated this testcase resolved the line height using | |
| the previous post-stretching height of the first flex item (and | |
| therefore resolves the percentage against 500px), which is incorrect. | |
| --> | |
| <div id="flex" style="display: flex; flex-wrap: wrap;"> | |
| <div> | |
| <div style="height: 100%; background: green; width: 100px;"></div> | |
| </div> | |
| <div style="height: 500px;" id="item"></div> | |
| </div> | |
| <script> | |
| var flex = document.getElementById("flex"); | |
| flex.offsetHeight; | |
| var item2 = document.getElementById("item"); | |
| item2.style.height = "100px"; | |
| </script> | |