| <!DOCTYPE html> |
| <html> |
| <style> |
| body { |
| margin: 0; |
| } |
| .flexbox { |
| display: flex; |
| background-color: #aaa; |
| position: relative; |
| } |
| |
| .flexbox > :nth-child(1) { |
| background-color: blue; |
| } |
| .flexbox > :nth-child(2) { |
| background-color: green; |
| } |
| |
| .absolute { |
| position: absolute; |
| width: 50px; |
| height: 50px; |
| background-color: yellow !important; |
| } |
| </style> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script src="../../resources/check-layout-th.js"></script> |
| <body> |
| <div id=log></div> |
| |
| <p>This test verifies that changing order, align-content, align-items, align-self, or justify-content will relayout.</p> |
| |
| <div id="flexbox" class="flexbox" style="width: 300px; height: 300px;"> |
| <div id="a" style="flex: 0 0 auto; width: 100px; height: 100px;"></div> |
| <div id="b" style="flex: 0 0 auto; width: 100px; height: 100px;"></div> |
| </div> |
| <script> |
| |
| var flexbox = document.getElementById("flexbox"); |
| var aDiv = document.getElementById("a"); |
| var bDiv = document.getElementById("b"); |
| |
| function checkValues(aXOffset, aYOffset, bXOffset, bYOffset) |
| { |
| aDiv.setAttribute("data-offset-x", aXOffset); |
| aDiv.setAttribute("data-offset-y", aYOffset); |
| bDiv.setAttribute("data-offset-x", bXOffset); |
| bDiv.setAttribute("data-offset-y", bYOffset); |
| checkLayout('.flexbox'); |
| } |
| |
| checkValues(0, 0, 100, 0); |
| |
| flexbox.style.justifyContent = "flex-end"; |
| checkValues(100, 0, 200, 0); |
| |
| flexbox.style.alignItems = "flex-end"; |
| checkValues(100, 200, 200, 200); |
| |
| bDiv.style.order = -1; |
| checkValues(200, 200, 100, 200); |
| |
| aDiv.style.alignSelf = "flex-start"; |
| checkValues(200, 0, 100, 200); |
| |
| flexbox.style.width = "100px"; |
| flexbox.style.flexWrap = "wrap"; |
| flexbox.style.alignContent = "flex-end"; |
| checkValues(0, 200, 0, 100); |
| |
| </script> |
| |
| </body> |
| </html> |