<!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 Grid Test: Placement involving negative line numbers</title>
  <link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1215957">
  <link rel="help" href="https://drafts.csswg.org/css-grid/#grid-placement-int">
  <link rel="match" href="grid-placement-negative-lines-001-ref.html">
  <style type="text/css">
body,html { color:black; background:white; font-size:12px; padding:0; margin:0; }

.grid {
  display: grid;
  position: relative;
  border: 1px solid;
  grid-template-columns: 60px [A] 60px 60px;
  grid-auto-columns: 40px;
  grid-auto-rows: 15px;
  grid-gap: 1px;
}

x {
  background: lime;
  border: 1px solid;
}
y {
  position: absolute;
  border: 1px solid blue;
  bottom:0;height:0;left:0;right:0;
  grid-row-end:span 1!important;
}
.a2 { bottom:2px; }
.a3 { bottom:4px; }
.a4 { bottom:6px; }
.a5 { bottom:8px; }

  </style>
</head>
<body>

<pre>
grid-template-columns: 60px [A] 60px 60px;
grid-auto-columns: 40px;
grid-gap: 1px;
</pre>

<pre>grid-column-start:</pre>
<div class="grid" style="padding-right:13px; border-right-width:5px">
<x style="grid-row:1; grid-column:1; background:grey"></x>
<x style="grid-row:2; grid-column-start:-1">-1</x>
<x style="grid-row:3; grid-column-start:4">4</x>
<x style="grid-row:3; grid-column-start:-2">-2</x>
<x style="grid-row:3; grid-column-start:-3">-3</x>
<x style="grid-row:3; grid-column-start:-4">-4</x>
<x style="grid-row:3; grid-column-start:-5">-5</x>
<x style="grid-row:4; grid-column-start:A -1">A -1</x>
<x style="grid-row:4; grid-column-start:B -1">B -1</x>
<x style="grid-row:5; grid-column-start:A -2">A -2</x>
<x style="grid-row:6; grid-column-start:A -3">A -3</x>
<x style="grid-row:6; grid-column-start:A -4">A -4</x>
<x style="grid-row:6; grid-column-start:A -5">A -5</x>
<x style="grid-row:7; grid-column-start:A">A</x>
<x style="grid-row:7; grid-column-start:B">B</x>
<x style="grid-row:8; grid-column-start:A 1">A 1</x>
<x style="grid-row:8; grid-column-start:A 2">A 2</x>
<x style="grid-row:8; grid-column-start:A 3">A 3</x>
<x style="grid-row:8; grid-column-start:A 4">A 4</x>
<x style="grid-row:8; grid-column-start:A 5">A 5</x>
<y style="grid-row:2; grid-column-start:-1"></y>
<y style="grid-row:3; grid-column-start:4"></y>
<y style="grid-row:3; grid-column-start:-2" class="a2"></y>
<y style="grid-row:3; grid-column-start:-3" class="a3"></y>
<y style="grid-row:3; grid-column-start:-4" class="a4"></y>
<y style="grid-row:3; grid-column-start:-5" class="a5"></y>
<y style="grid-row:4; grid-column-start:A -1"></y>
<y style="grid-row:4; grid-column-start:B -1" class="a2"></y>
<y style="grid-row:5; grid-column-start:A -2"></y>
<y style="grid-row:6; grid-column-start:A -3"></y>
<y style="grid-row:6; grid-column-start:A -4" class="a2"></y>
<y style="grid-row:6; grid-column-start:A -5" class="a3"></y>
<y style="grid-row:7; grid-column-start:A"></y>
<y style="grid-row:7; grid-column-start:B" class="a2"></y>
<y style="grid-row:8; grid-column-start:A 1"></y>
<y style="grid-row:8; grid-column-start:A 2" class="a2"></y>
<y style="grid-row:8; grid-column-start:A 3" class="a3"></y>
<y style="grid-row:8; grid-column-start:A 4" class="a4"></y>
<y style="grid-row:8; grid-column-start:A 5" class="a5"></y>
</div>

<pre>grid-column-end:</pre>
<div class="grid" style="padding-left:13px;">
<x style="grid-row:1; grid-column:1; background:grey"></x>
<x style="grid-row:2; grid-column-end:-1">-1</x>
<x style="grid-row:3; grid-column-end:4">4</x>
<x style="grid-row:3; grid-column-end:-5">-5</x>
<x style="grid-row:3; grid-column-end:-4">-4</x>
<x style="grid-row:3; grid-column-end:-3">-3</x>
<x style="grid-row:3; grid-column-end:-2">-2</x>
<x style="grid-row:4; grid-column-end:A -1">A -1</x>
<x style="grid-row:4; grid-column-end:B -1">B -1</x>
<x style="grid-row:5; grid-column-end:A -2">A -2</x>
<x style="grid-row:6; grid-column-end:A -3">A -3</x>
<x style="grid-row:6; grid-column-end:A -4">A -4</x>
<x style="grid-row:6; grid-column-end:A -5">A -5</x>
<x style="grid-row:7; grid-column-end:A">A</x>
<x style="grid-row:7; grid-column-end:B">B</x>
<x style="grid-row:8; grid-column-end:A 1">A 1</x>
<x style="grid-row:8; grid-column-end:A 2">A 2</x>
<x style="grid-row:8; grid-column-end:A 3">A 3</x>
<x style="grid-row:8; grid-column-end:A 4">A 4</x>
<x style="grid-row:8; grid-column-end:A 5">A 5</x>
<y style="grid-row:2; grid-column-end:-1"></y>
<y style="grid-row:3; grid-column-end:4"></y>
<y style="grid-row:3; grid-column-end:-5" class="a2"></y>
<y style="grid-row:3; grid-column-end:-4" class="a3"></y>
<y style="grid-row:3; grid-column-end:-3" class="a4"></y>
<y style="grid-row:3; grid-column-end:-2" class="a5"></y>
<y style="grid-row:4; grid-column-end:A -1"></y>
<y style="grid-row:4; grid-column-end:B -1" class="a2"></y>
<y style="grid-row:5; grid-column-end:A -2"></y>
<y style="grid-row:6; grid-column-end:A -3"></y>
<y style="grid-row:6; grid-column-end:A -4" class="a2"></y>
<y style="grid-row:6; grid-column-end:A -5" class="a3"></y>
<y style="grid-row:7; grid-column-end:A"></y>
<y style="grid-row:7; grid-column-end:B" class="a2"></y>
<y style="grid-row:8; grid-column-end:A 1"></y>
<y style="grid-row:8; grid-column-end:A 2" class="a2"></y>
<y style="grid-row:8; grid-column-end:A 3" class="a3"></y>
<y style="grid-row:8; grid-column-end:A 4" class="a4"></y>
<y style="grid-row:8; grid-column-end:A 5" class="a5"></y>
</div>

<pre>grid-column: / span A 2</pre>
<div class="grid">
<x style="grid-row:1; grid-column:1; background:grey"></x>
<x style="grid-row:2; grid-column:-1/span A 2">-1</x>
<x style="grid-row:3; grid-column:4/span A 2">4</x>
<x style="grid-row:4; grid-column:-2/span A 2">-2</x>
<x style="grid-row:5; grid-column:-3/span A 2">-3</x>
<x style="grid-row:6; grid-column:-4/span A 2">-4</x>
<x style="grid-row:7; grid-column:-5/span A 2">-5</x>
<x style="grid-row:8; grid-column:A -1/span A 2">A -1</x>
<x style="grid-row:9; grid-column:B -1/span A 2">B -1</x>
<x style="grid-row:10; grid-column:A -2/span A 2">A -2</x>
<x style="grid-row:11; grid-column:A -3/span A 2">A -3</x>
<x style="grid-row:12; grid-column:A -4/span A 2">A -4</x>
<x style="grid-row:13; grid-column:A -5/span A 2">A -5</x>
<x style="grid-row:14; grid-column:A/span A 2">A</x>
<x style="grid-row:15; grid-column:B/span B">B</x>
<x style="grid-row:16; grid-column:A 1/span A 2">A 1</x>
<x style="grid-row:17; grid-column:A 2/span A 2">A 2</x>
<x style="grid-row:18; grid-column:A 3/span A 2">A 3</x>
<x style="grid-row:19; grid-column:A 4/span A 2">A 4</x>
<x style="grid-row:20; grid-column:A 5/span A 2">A 5</x>
<y style="grid-row:2; grid-column:-1/span A 2"></y>
<y style="grid-row:3; grid-column:4/span A 2"></y>
<y style="grid-row:4; grid-column:-2/span A 2"></y>
<y style="grid-row:5; grid-column:-3/span A 2"></y>
<y style="grid-row:6; grid-column:-4/span A 2"></y>
<y style="grid-row:7; grid-column:-5/span A 2"></y>
<y style="grid-row:8; grid-column:A -1/span A 2"></y>
<y style="grid-row:9; grid-column:B -1/span A 2"></y>
<y style="grid-row:10; grid-column:A -2/span A 2"></y>
<y style="grid-row:11; grid-column:A -3/span A 2"></y>
<y style="grid-row:12; grid-column:A -4/span A 2"></y>
<y style="grid-row:13; grid-column:A -5/span A 2"></y>
<y style="grid-row:14; grid-column:A/span A 2"></y>
<y style="grid-row:15; grid-column:B/span B"></y>
<y style="grid-row:16; grid-column:A 1/span A 2"></y>
<y style="grid-row:17; grid-column:A 2/span A 2"></y>
<y style="grid-row:18; grid-column:A 3/span A 2"></y>
<y style="grid-row:19; grid-column:A 4/span A 2"></y>
<y style="grid-row:20; grid-column:A 5/span A 2"></y>
</div>

</body>
</html>