| <!DOCTYPE html> |
| <title>CSS Grid: empty grid without explicit tracks.</title> |
| <link rel="author" title="Sergio Villar" href="mailto:svillar@igalia.com"/> |
| <link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos"/> |
| <link rel="issue" href="https://crrev.com/562167"/> |
| <meta name="assert" content="Test ensures that the grids with no in-flow items are actually empty."/> |
| |
| <link href="/css/support/grid.css" rel="stylesheet"/> |
| <link href="/css/support/width-keyword-classes.css" rel="stylesheet"/> |
| <link href="/fonts/ahem.css" rel="stylesheet" type="text/css"/> |
| <style> |
| .gridWithAbsolutePositionedItem { |
| /* Ensures that the grid container is the containing block of the absolutely positioned grid children. */ |
| position: relative; |
| } |
| |
| .grid { |
| grid-auto-columns: 200px; |
| grid-auto-rows: 200px; |
| } |
| |
| .item { |
| position: absolute; |
| font: 10px/1 Ahem; |
| } |
| |
| </style> |
| |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/check-layout-th.js"></script> |
| <script> |
| function addRemoveItem() |
| { |
| var gridItem = document.createElement("div"); |
| gridItem.style.width = "100px"; |
| gridItem.style.height = "100px"; |
| gridItem.style.backgroundColor = "red"; |
| var gridElement = document.getElementById("dynamicGrid"); |
| gridElement.appendChild(gridItem); |
| gridElement.removeChild(gridItem); |
| } |
| |
| setup({ explicit_done: true }); |
| |
| function doTest() { |
| addRemoveItem(); |
| checkLayout(".grid"); |
| } |
| </script> |
| |
| <body onload="document.fonts.ready.then(() => { doTest(); })"> |
| |
| <div class="grid min-content" data-expected-width="0" data-expected-height="0"></div> |
| |
| <div class="grid min-content gridWithAbsolutePositionedItem" data-expected-width="0" data-expected-height="0"> |
| <div class="item" data-expected-width="40" data-expected-height="10">XXXX</div> |
| </div> |
| |
| <div id="dynamicGrid" class="grid min-content" data-expected-width="0" data-expected-height="0"></div> |
| |
| <div class="grid min-content" style="grid-template-rows: 100px;" data-expected-width="0" data-expected-height="100"></div> |
| <div class="grid min-content" style="grid-template-rows: auto;" data-expected-width="0" data-expected-height="0"></div> |
| <div class="grid min-content" style="grid-template-rows: 1fr;" data-expected-width="0" data-expected-height="0"></div> |
| |
| <div class="grid min-content" style="grid-template-columns: 100px;" data-expected-width="100" data-expected-height="0"></div> |
| <div class="grid min-content" style="grid-template-columns: auto;" data-expected-width="0" data-expected-height="0"></div> |
| <div class="grid min-content" style="grid-template-columns: 1fr;" data-expected-width="0" data-expected-height="0"></div> |
| |
| </body> |