Source code

Revision control

Other Tools

Test Info:

Any copyright is dedicated to the Public Domain.
<meta charset="utf-8">
<title>CSS Grid Test: Placement involving negative line numbers</title>
<link rel="author" title="Mats Palmgren" href="">
<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;
grid-row-end:span 1!important;
.a2 { bottom:2px; }
.a3 { bottom:4px; }
.a4 { bottom:6px; }
.a5 { bottom:8px; }
grid-template-columns: 60px [A] 60px 60px;
grid-auto-columns: 40px;
grid-gap: 1px;
<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 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>
<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>