<!DOCTYPE HTML>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<html><head>
  <meta charset="utf-8">
  <title>CSS Test: grid item auto placement: row sparse</title>
  <link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1107778">
  <link rel="help" href="https://drafts.csswg.org/css-grid/#auto-placement-algo">
  <link rel="match" href="grid-placement-auto-row-sparse-001-ref.html">
  <style type="text/css">
body,html { color:black; background:white; font-size:12px; padding:0; margin:0; }

.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;
}

.grid2 {
  display: grid;
  grid-auto-columns: 20px;
  grid-auto-rows: 20px;
  border: 1px solid green;
}

span {
  background: lime;
  border: 1px solid;
}

.test1 .a {
  grid-row: 1;
  grid-column: 2 / span 1;
}
.test1 .b {
  grid-row: 2;
  grid-column: 2 / span 3;
}
.test1 .c, .test2 .c {
  grid-row: 1 / span 2;
  grid-column: auto / span 3;
}

.test2 .a {
  grid-row: 1;
  grid-column: 2 / span 3;
}
.test2 .b {
  grid-row: 2;
  grid-column: 2 / span 1;
}

.test3 {
  grid-template-areas:
    'a a a . '
    'a a a . '
    '. b b . '
  ;
}
.test3 .a {
  grid-area: a;
}
.test3 .b {
  grid-column: 2 / span 3; 
  grid-row: b;
}
.test3 .c {
  grid-row: auto / span 2;
  grid-column: auto / span 3;
}

.test4 .c {
  grid-row: auto / span 2;
  grid-column: auto / span 3;
}

.test5 .c {
  grid-row-start: 2;
  grid-column: auto / span 3;
}

.test6 {
  grid-row-start: 2;
  grid-column: auto / span X;
}

.e {
  grid-row-start: 2;
  grid-column: auto / span 1;
}
    </style>
</head>
<body>

<div class="grid test1">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>

<div class="grid test2">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>

<div class="grid test3">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>

<div class="grid test4">
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>

<div class="grid test5">
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>

<div class="grid test1">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="test6">d</span>
<span class="test6">D</span>
<span class="e">e</span>
</div>

<!-- bug 1229009 -->
<div class="grid2">
<span style="grid-column: 2; grid-row: 1;">1</span>
<span style="grid-column: 1; grid-row: 2;">2</span>
<span style="grid-row: 1 / 3;">3</span>
<span style="grid-row: 2;">4</span>
</div>

</body>
</html>