| <!DOCTYPE html> |
| <html> |
| <link href="resources/flexbox.css" rel="stylesheet"> |
| <style> |
| body { |
| margin: 0; |
| } |
| |
| .flexbox { |
| background-color: #aaa; |
| position: relative; |
| } |
| .horizontal { |
| width: 400px; |
| } |
| |
| .horizontal div { |
| width: 100%; |
| } |
| .vertical { |
| writing-mode: vertical-rl; |
| height: 50px; |
| } |
| .vertical div { |
| height: 100%; |
| } |
| |
| .flexbox > :nth-child(1) { |
| background-color: blue; |
| } |
| .flexbox > :nth-child(2) { |
| background-color: green; |
| } |
| .flexbox > :nth-child(3) { |
| background-color: red; |
| } |
| .flexbox > :nth-child(4) { |
| background-color: orange; |
| } |
| .child-div { |
| background-color: yellow; |
| } |
| </style> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script src="../../resources/check-layout-th.js"></script> |
| <body onload="checkLayout('.flexbox')"> |
| <div id=log></div> |
| <div class="flexbox column horizontal"> |
| <div data-expected-height="10" data-offset-y="0" style="flex: 1 0 10px;"></div> |
| <div data-expected-height="10" data-offset-y="10" style="height: 10px;"></div> |
| <div data-expected-height="10" data-offset-y="20"><div data-expected-height="10" data-offset-y="20" style="height: 10px"></div></div> |
| </div> |
| |
| <!-- The last div is sized to 0 because there is no available space, however its child overflows. --> |
| <div class="flexbox column horizontal"> |
| <div data-expected-height="0" data-offset-y="0" style="flex: 1;"></div> |
| <div data-expected-height="10" data-offset-y="0" style="height: 10px;"></div> |
| <div data-expected-height="10" data-offset-y="10" style="flex: 1 auto;"><div style="height: 10px"></div></div> |
| <div data-expected-height="10" data-offset-y="20" style="min-height: 0; flex: 1;"><div data-expected-height="10" data-offset-y="20" class="child-div" style="height: 10px"></div></div> |
| </div> |
| |
| <div class="flexbox column horizontal"> |
| <div data-expected-height="10" data-offset-y="10" style="flex: 1 0 10px; margin-top: 10px;"></div> |
| <div data-expected-height="10" data-offset-y="20" style="height: 10px; margin-bottom: 20px;"></div> |
| <div data-expected-height="20" data-offset-y="50" style="padding-top: 10px"><div data-expected-height="10" data-offset-y="60" style="height: 10px"></div></div> |
| </div> |
| |
| <!-- Same as previous test case but with a justify-content set. Since there's no |
| available space, it should layout the same. --> |
| <div class="flexbox column horizontal justify-content-space-between"> |
| <div data-expected-height="10" data-offset-y="10" style="flex: 1 0 10px; margin-top: 10px;"></div> |
| <div data-expected-height="10" data-offset-y="20" style="height: 10px; margin-bottom: 20px;"></div> |
| <div data-expected-height="20" data-offset-y="50" style="padding-top: 10px"><div data-expected-height="10" data-offset-y="60" style="height: 10px"></div></div> |
| </div> |
| |
| <div class="flexbox column horizontal" data-expected-height="20"> |
| <div data-expected-height="10" data-offset-y="0" style="flex: 0 1 auto;"><div style="height: 10px"></div></div> |
| <div data-expected-height="10" data-offset-y="10" style="flex: 0 2 auto;"><div style="height: 10px"></div></div> |
| </div> |
| |
| <div class="flexbox column horizontal" style="min-height: 10px" data-expected-height="20"> |
| <div data-expected-height="10" data-offset-y="0" style="flex: 0 1 auto;"><div style="height: 10px"></div></div> |
| <div data-expected-height="10" data-offset-y="10" style="flex: 0 2 auto;"><div style="height: 10px"></div></div> |
| </div> |
| |
| <div class="flexbox column horizontal" style="min-height: 5px; max-height: 17px;" data-expected-height="17"> |
| <div data-expected-height="9" data-offset-y="0" style="min-height: 0; flex: 0 1 auto;"><div style="height: 10px"></div></div> |
| <div data-expected-height="8" data-offset-y="9" style="min-height: 0; flex: 0 2 auto;"><div style="height: 10px"></div></div> |
| </div> |
| |
| <div class="flexbox column horizontal" style="min-height: 5px; max-height: 30px; padding-top: 1px; padding-bottom: 2px;" data-expected-height="33"> |
| <div data-expected-height="15" data-offset-y="1" style="min-height: 0; flex: 0 1 auto;"><div style="height: 20px"></div></div> |
| <div data-expected-height="15" data-offset-y="16" style="min-height: 0; flex: 0 1 auto;"><div style="height: 20px"></div></div> |
| </div> |
| |
| <div class="flexbox column horizontal"> |
| <div data-expected-client-height="10" data-offset-y="0" style="overflow: scroll"><div data-expected-height=10 style="height: 10px"></div></div> |
| </div> |
| |
| <div class="flexbox column vertical"> |
| <div data-expected-width="10" data-offset-x="20" style="flex: 1 0 10px;"></div> |
| <div data-expected-width="10" data-offset-x="10" style="width: 10px;"></div> |
| <div data-expected-width="10" data-offset-x="0"><div data-expected-width="10" data-offset-x="0" style="width: 10px"></div></div> |
| </div> |
| |
| <!-- The first div overflows to the left, so give it a margin-left so we can see box it paints. --> |
| <div class="flexbox column vertical" style="margin-left: 100px;"> |
| <div data-expected-width="50" data-offset-x="20" style="min-width: 0; flex: 1;"><div data-expected-width="50" data-offset-x="20" class="child-div" style="width: 50px"></div></div> |
| <div data-expected-width="0" data-offset-x="20" style="flex: 1;"></div> |
| <div data-expected-width="10" data-offset-x="10" style="width: 10px;"></div> |
| <div data-expected-width="10" data-offset-x="0" style="flex: 1 auto;"><div style="width: 10px"></div></div> |
| </div> |
| |
| </body> |
| </html> |