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

.grid {
  height: 60px;
  border: 1px solid green;
  position: relative;
  font-size: 12px;
}

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

span {
  position: absolute;
  background: lime;
  border: 1px solid black;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
}

x {
  background: lime;
  border: 1px solid black;
}

.test1 .a {
  top: 0;
  left: 20px;
  width: 20px;
  height: 20px;
}
.test1 .b {
  top: 20px;
  left: 20px;
  width: 60px;
  height: 20px;
}
.test1 .c {
  top: 0;
  left: 80px;
  width: 60px;
  height: 40px;
}
.test1 .e {
  top: 20px;
  left: 0px;
}
.test1 .d2 {
  top: 0px;
  left: 40px;
}

.test2 .a {
  top: 0;
  left: 20px;
  width: 60px;
  height: 20px;
}
.test2 .b {
  top: 20px;
  left: 20px;
  width: 20px;
  height: 20px;
}
.test2 .c {
  top: 0;
  left: 80px;
  width: 60px;
  height: 40px;
}
.test2 .e {
  top: 20px;
  left: 0px;
}
.test2 .d2 {
  top: 20px;
  left: 40px;
}

.test3 .a {
  top: 0;
  left: 0;
  width: 60px;
  height: 40px;
}
.test3 .b {
  top: 40px;
  left: 20px;
  width: 60px;
  height: 20px;
}
.test3 .c {
  top: 60px;
  left: 0px;
  width: 60px;
  height: 40px;
}
.test3 .d { top: 0px; left:60px; }
.test3 .e {
  top: 20px;
  left: 60px;
}
.test3 .d2 {
  top: 40px;
  left: 0px;
}

.test4 .c {
  top: 0;
  left: 20px;
  width: 60px;
  height: 40px;
}
.test4 .e {
  top: 20px;
  left: 0px;
}
.test4 .d2 {
  top: 40px;
  left: 0px;
}

.test5 .c {
  top: 20px;
  left: 0;
  width: 60px;
  height: 20px;
}
.test5 .e {
  top: 20px;
  left: 60px;
}
.test5 .d2 {
  top: 0px;
  left: 20px;
}

.test6d2 {
  top: 0px;
  left: 40px;
}
.test6e {
  top: 20px;
  left: 0px;
}
    </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="d2">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="d2">D</span>
<span class="e">e</span>
</div>

<div class="grid test3" style="height:100px">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="d">d</span>
<span class="d2">D</span>
<span class="e">e</span>
</div>

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

<div class="grid test5">
<span class="c">c</span>
<span class="d">d</span>
<span class="d2">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="test6d2">D</span>
<span class="test6e">e</span>
</div>

<!-- bug 1228984 test 2 -->
<div class="grid2">
<x style="grid-row: 1 / 3">1</x>
<x style="grid-row: 2 / 4">2</x>
<x style="grid-row: 1 / 4">3</x>
<x style="">4</x>
<x style="">5</x>
</div>

<!-- bug 1228984 test 1: with "row dense" -->
<div class="grid2">
<x style="grid-column: 1; grid-row: 1 / 3">1</x>
<x style="grid-column: 2; grid-row: 1">2</x>
<x style="grid-row: span 2">3</x>
<x style="grid-row: 2">4</x>
</div>

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

<!-- bug 1228984 test 3 -->
<div class="grid2">
<x style="grid-row: 1 / 3">1</x>
<x style="grid-row: 2 / 4">2</x>
<x style="grid-row: 1 / 4">3</x>
<x style="">4</x>
<x style="">5</x>
</div>

</body>
</html>