<!DOCTYPE HTML> <html><head> <meta charset="utf-8"> <title></title> <style type="text/css"> html,body { font-size:12px; font-family:monospace; } .grid { display: grid; border: 1px solid green; grid-template-columns: 20px 20px 20px 20px; grid-template-rows: 20px 20px 20px; grid-auto-flow: row; grid-auto-columns: 20px; grid-auto-rows: 20px; } span { background: lime; border: 1px solid; } .test1 { grid-template-areas:'. a a-start .'; } .test1 span { grid-column: a-start / 8; } .test2 { grid-template-areas: 'a a a . . .' 'a a a . . .' '. b b . . .' ; } .test2 .a { grid-area: a; } .test2 .b { grid-column: 2 / span 3; grid-row: b; } .test2 .c { grid-column: auto / span 3; } .test3 { grid-template-areas:'. a .'; grid-template-columns: [a-start] 20px 20px [a-start-start] 20px [a-start-end]; } .test3 span { grid-column: a-start / 8; } .test4, .test5 { grid-template-areas:'. . . a'; grid-template-columns: 20px [a-start] 20px [a-start] 20px [a-end] 20px ; } .test4 span { grid-column: a-start 2 / 8; } .test5 span { grid-column: a / 8; } .test6 #span1 { grid-row:1/2; grid-column:1/2; } .test6 #span2 { grid-row:1/2; grid-column:1/2; } .test7 {grid-template-columns: 700px; grid-template-rows: 60px; } .test7 #span1 { grid-area: 1/1; background: red; border: 4px solid red; color:red; } .test7 #span2 { grid-area: 1/1; background: lime; padding: 3px; margin:0; } </style> </head> <body> <div class="grid test1"><span>a</span></div> <div class="grid test2"> <span class="a">a</span> <span class="b">b</span> <span class="c">c</span> </div> <div class="grid test3"><span>a</span></div> <div class="grid test4"><span>a</span></div> <div class="grid test5"><span>a</span></div> <div class="grid test6"><span id="span1">a</span><span id="span2">b</span></div> <div class="grid test7"><span id="span1">FAIL</span><span id="span2"> grid</span></div> </body> </html>