grid-placement-auto-implicit-001.html (6435B)
1 <!DOCTYPE HTML> 2 <!-- 3 Any copyright is dedicated to the Public Domain. 4 http://creativecommons.org/publicdomain/zero/1.0/ 5 --> 6 <html><head> 7 <meta charset="utf-8"> 8 <title>CSS Test: Testing placement of grid items outside the explicit grid</title> 9 <link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1146051"> 10 <link rel="help" href="http://dev.w3.org/csswg/css-grid/#auto-placement-algo"> 11 <link rel="help" href="http://dev.w3.org/csswg/css-grid/#overlarge-grids"> 12 <link rel="match" href="grid-placement-auto-implicit-001-ref.html"> 13 <style type="text/css"> 14 body,html { color:black; background:white; font-size:12px; padding:0; margin:0; } 15 16 .grid { 17 display: grid; 18 grid-template-columns: 20px 20px 20px 20px; 19 grid-template-rows: 20px; 20 grid-auto-columns: 3px; 21 grid-auto-rows: 20px; 22 border: 1px solid blue; 23 width: 270px; 24 } 25 26 .a { grid-area: 1 / 2; background:lime; } 27 .a2 { grid-column:2; grid-row:span 2 / 1; background:lime; } 28 .b { grid-column: span 1 / 2; grid-row: 2; background:pink; } 29 .b2 { grid-column: span 1 / 2; background:pink; } 30 .c { grid-row: 1; background:yellow; } 31 .e { grid-row: 1; background:silver; } 32 .f { grid-column: 1; background:cyan; } 33 .g { background:tan; } 34 35 span { 36 border: 1px solid; 37 line-height: 18px; 38 min-width: 0; 39 } 40 41 </style> 42 </head> 43 <body style="overflow:hidden"> 44 45 <div style="float:left"> 46 47 <div class="grid"> 48 <span class="a">a</span><span class="b">b</span><span class="c">c</span><span class="e">e</span> 49 </div> 50 <div class="grid"> 51 <span class="a">a</span><span class="b">b</span><span class="g">g</span> 52 </div> 53 <div class="grid"> 54 <span class="a">a</span><span class="b" span="2">b</span><span class="c">c</span><span class="e">e</span> 55 </div> 56 <div class="grid"> 57 <span class="a">a</span><span class="b" span="2">b</span><span class="c">c</span><span class="f">f</span> 58 </div> 59 <div class="grid"> 60 <span class="a">a</span><span class="b" span="4">b</span><span class="c">c</span><span class="e">e</span> 61 </div> 62 <div class="grid"> 63 <span class="a">a</span><span class="b" span="4">b</span><span class="c">c</span><span class="f" style="grid-column:span 2 / 2">f</span> 64 </div> 65 <div class="grid"> 66 <span class="a">a</span><span class="b" span="50">b</span><span class="c">c</span><span class="e" style="grid-column-start: span 10;">e</span> 67 </div> 68 <div class="grid"> 69 <span class="a">a</span><span class="b" span="50">b</span><span class="c">c</span><span class="f">f</span><span class="f">f</span> 70 </div> 71 <div class="grid"> 72 <span class="a">a</span><span class="b" span="50">b</span><span class="c">c</span><span class="f" style="grid-column: span 2 / 1;">f</span><span class="f">f</span> 73 </div> 74 <div class="grid"> 75 <span class="a">a</span><span class="b" span="50">b</span><span class="c">c</span><span class="g">g</span> 76 </div> 77 <div class="grid"> 78 <span class="a">a</span><span class="b" span="50">b</span><span class="g">g</span><span class="g">g</span> 79 </div> 80 81 </div><div style="float:left; margin-top:300px;"> 82 83 <div class="grid" style="height:40px"> 84 <span style="grid-area: X -10000 / 1 / span 10000 / 5; margin-top:-199980px"></span> 85 <span style="grid-area: 1 / 1 / span 10000 / 5; margin-top:-199980px; height:30px; color:black"></span> 86 <span span="50" style="margin-top:-399960px">b</span> 87 </div> 88 <div class="grid" style="height:40px"> 89 <span style="grid-area: X -10000 / 1 / span 10000 / 5; margin-top:-199980px"></span> 90 <span style="grid-area: 1 / 1 / span 10000 / 5; margin-top:-199980px; height:30px; color:black"></span> 91 <span style="grid-column: 1 / span 50; margin-top:-399960px">b</span> 92 </div> 93 <div class="grid" style="height:40px"> 94 <span style="grid-area: 1 / X -10000 / 5 / span 10000; width: 30px; margin-left:-29980px"></span> 95 <span style="grid-area: 1 / 1 / 5 / span 10000; width: 30px; margin-left:-29980px; color:black"></span> 96 <span style="grid-row: 1; grid-column:auto / span 1; width: 30px; margin-left:-59980px">b</span> 97 </div> 98 <div class="grid" style="height:40px"> 99 <span style="grid-area: X -10000 / 1 / span 10000 / 5; margin-top:-199980px"></span> 100 <span style="grid-area: 1 / 1 / span 9998 / 5; margin-top:-199980px; height:30px; color:black"></span> 101 <span span="50" style="grid-row:auto / span 5; margin-top:-399960px">b</span> 102 </div> 103 <div class="grid" style="height:40px"> 104 <span style="grid-area: 1 / X -10000 / 5 / span 10000; width: 30px; margin-left:-29980px"></span> 105 <span style="grid-area: 1 / 1 / 5 / span 9995; width: 30px; margin-left:-29980px; color:silver"></span> 106 <span style="grid-row: 1; grid-column:auto / span 10; margin-left:-59910px; margin-right:59800px">b</span> 107 </div> 108 109 </div><div style="float:left"> 110 111 <div class="grid"> 112 <span class="a2">a</span><span class="b2">b</span><span class="c">c</span><span class="e">e</span> 113 </div> 114 <div class="grid"> 115 <span class="a2">a</span><span class="b2">b</span><span class="g">g</span> 116 </div> 117 <div class="grid"> 118 <span class="a2">a</span><span class="b2" span="2">b</span><span class="c">c</span><span class="e">e</span> 119 </div> 120 <div class="grid"> 121 <span class="a2">a</span><span class="b2" span="2">b</span><span class="c">c</span><span class="f">f</span> 122 </div> 123 <div class="grid"> 124 <span class="a2">a</span><span class="b2" span="4">b</span><span class="c">c</span><span class="e">e</span> 125 </div> 126 <div class="grid"> 127 <span class="a2">a</span><span class="b2" span="4">b</span><span class="c">c</span><span class="f" style="grid-column:span 2 / 2">f</span> 128 </div> 129 <div class="grid"> 130 <span class="a2">a</span><span class="b2" span="50">b</span><span class="c">c</span><span class="e" style="grid-column-start: span 10;">e</span> 131 </div> 132 <div class="grid"> 133 <span class="a2">a</span><span class="b2" span="50">b</span><span class="c">c</span><span class="f">f</span><span class="f">f</span> 134 </div> 135 <div class="grid"> 136 <span class="a2">a</span><span class="b2" span="50">b</span><span class="c">c</span><span class="f" style="grid-column: span 2 / 1;">f</span><span class="f">f</span> 137 </div> 138 <div class="grid"> 139 <span class="a2">a</span><span class="b2" span="50">b</span><span class="c">c</span><span class="g">g</span> 140 </div> 141 <div class="grid"> 142 <span class="a2">a</span><span class="b2" span="50">b</span><span class="g">g</span><span class="g">g</span> 143 </div> 144 </div> 145 146 <script> 147 var elms = document.querySelectorAll("[span]"); 148 for (i=0; i < elms.length; ++i) { 149 var e = elms[i]; 150 e.style.gridColumnStart = "span " + e.getAttribute("span"); 151 } 152 </script> 153 154 </body> 155 </html>