empty-grid-001.html (2670B)
1 <!DOCTYPE html> 2 <title>CSS Grid: empty grid without explicit tracks.</title> 3 <link rel="author" title="Sergio Villar" href="mailto:svillar@igalia.com"/> 4 <link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos"/> 5 <link rel="issue" href="https://crrev.com/562167"/> 6 <meta name="assert" content="Test ensures that the grids with no in-flow items are actually empty."/> 7 8 <link href="/css/support/grid.css" rel="stylesheet"/> 9 <link href="/css/support/width-keyword-classes.css" rel="stylesheet"/> 10 <link href="/fonts/ahem.css" rel="stylesheet" type="text/css"/> 11 <style> 12 .gridWithAbsolutePositionedItem { 13 /* Ensures that the grid container is the containing block of the absolutely positioned grid children. */ 14 position: relative; 15 } 16 17 .grid { 18 grid-auto-columns: 200px; 19 grid-auto-rows: 200px; 20 } 21 22 .item { 23 position: absolute; 24 font: 10px/1 Ahem; 25 } 26 27 </style> 28 29 <script src="/resources/testharness.js"></script> 30 <script src="/resources/testharnessreport.js"></script> 31 <script src="/resources/check-layout-th.js"></script> 32 <script> 33 function addRemoveItem() 34 { 35 var gridItem = document.createElement("div"); 36 gridItem.style.width = "100px"; 37 gridItem.style.height = "100px"; 38 gridItem.style.backgroundColor = "red"; 39 var gridElement = document.getElementById("dynamicGrid"); 40 gridElement.appendChild(gridItem); 41 gridElement.removeChild(gridItem); 42 } 43 44 setup({ explicit_done: true }); 45 46 function doTest() { 47 addRemoveItem(); 48 checkLayout(".grid"); 49 } 50 </script> 51 52 <body onload="document.fonts.ready.then(() => { doTest(); })"> 53 54 <div class="grid min-content" data-expected-width="0" data-expected-height="0"></div> 55 56 <div class="grid min-content gridWithAbsolutePositionedItem" data-expected-width="0" data-expected-height="0"> 57 <div class="item" data-expected-width="40" data-expected-height="10">XXXX</div> 58 </div> 59 60 <div id="dynamicGrid" class="grid min-content" data-expected-width="0" data-expected-height="0"></div> 61 62 <div class="grid min-content" style="grid-template-rows: 100px;" data-expected-width="0" data-expected-height="100"></div> 63 <div class="grid min-content" style="grid-template-rows: auto;" data-expected-width="0" data-expected-height="0"></div> 64 <div class="grid min-content" style="grid-template-rows: 1fr;" data-expected-width="0" data-expected-height="0"></div> 65 66 <div class="grid min-content" style="grid-template-columns: 100px;" data-expected-width="100" data-expected-height="0"></div> 67 <div class="grid min-content" style="grid-template-columns: auto;" data-expected-width="0" data-expected-height="0"></div> 68 <div class="grid min-content" style="grid-template-columns: 1fr;" data-expected-width="0" data-expected-height="0"></div> 69 70 </body>