| <style> |
| div.box { -webkit-box-sizing: border; border: solid blue; } |
| div.shorter { height: 54px; } |
| div.taller { height: 72px; } |
| </style> |
| <div style="height: 100px; width: 630; -webkit-columns:6; -webkit-column-gap:5px; columns:6; column-gap:5px;"> |
| <div class="taller box"></div> |
| <div class="taller box"></div> |
| <div id="break-before" class="shorter box" style="break-before: column;"></div> |
| <div class="shorter box" style="break-after: column;"></div> |
| <div id="after-break" class="shorter box"></div> |
| <div id="no-break" class="shorter box" style="break-inside: avoid-column;"></div> |
| <div id="subPixelTest" style="width:10.5px"></div> |
| </div> |
| <pre id="console"></pre> |
| <script> |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| function log(message) |
| { |
| document.getElementById("console").appendChild(document.createTextNode(message + "\n")); |
| } |
| |
| function testBoxPosition(id, expectedLeft, expectedTop) |
| { |
| var rect = document.getElementById(id).getBoundingClientRect(); |
| if (Math.round(rect.left) === expectedLeft && Math.round(rect.top) === expectedTop) |
| log("PASS: '" + id + "' is at (" + expectedLeft + ", " + expectedTop + ")"); |
| else |
| log("FAIL: '" + id + "' is at (" + Math.round(rect.left) + ", " + Math.round(rect.top) + ") instead of (" + expectedLeft + " ," + expectedTop + ")"); |
| } |
| |
| var rect = document.getElementById('subPixelTest').getBoundingClientRect(); |
| var hasSubpixelSupport = Math.round(rect.right) != rect.right; |
| |
| testBoxPosition("break-before", hasSubpixelSupport ? 220 : 218, 8); |
| testBoxPosition("after-break", hasSubpixelSupport ? 431 : 428, 8); |
| testBoxPosition("no-break", hasSubpixelSupport ? 537 : 533, 8); |
| </script> |