wpt / css / css-grid / grid-lanes / grid-placement / grid-lanes-grid-placement-named-lines-dense-packing-001.html

Status: FAIL | Duration: 20ms | Subtests: 0/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi

/css/css-grid/grid-lanes/grid-placement/grid-lanes-grid-placement-named-lines-dense-packing-001.html

<!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: Definite column placement in a grid-lanes grid (double edge) with dense-packing enabled</title>
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
<link rel="author" title="Celeste Pan" href="mailto:celestepan@microsoft.com">
<link rel="help" href="https://drafts.csswg.org/css-grid-3/#grid-template-masonry">
<link rel="help" href="https://drafts.csswg.org/css-grid/#grid-placement-int">
<link rel="match" href="grid-lanes-grid-placement-named-lines-dense-packing-001-ref.html">
<style>
body,html { color:black; background:white; font:15px/1 monospace; padding:0; margin:0; }

.grid {
  display: grid-lanes;
  position: relative;
  border: 1px solid;
  grid-template-columns: [A-start] 60px 60px 60px;
  /* This creates implicit B-start and B-end lines, and A-start and E-end lines. */
  grid-template-areas: "B A";
  grid-auto-flow: dense;
  grid-lanes-pack: dense;
  grid-auto-columns: 40px;
  gap: 0 1px;
}

x {
  background: grey;
}

y {
  position: absolute;
  border: 1px solid blue;
  bottom:0;height:0;left:0;right:0;
}
</style>
</head>
<body>
<pre>grid-column: / span A-start 2</pre>
<div class="grid">
<x style="grid-column:1">&nbsp;</x>
<!-- This creates 1 extra grid-lines at the end of the container named A-start, which creates 2 implicit tracks. -->
<x style="grid-column:-1/span A-start 2">-1</x>
<x style="grid-column:4/span A-start 2">4</x>
<x style="grid-column:-2/span A-start 2">-2</x>
<x style="grid-column:-3/span A-start 2">-3</x>
<x style="grid-column:-4/span A-start 2">-4</x>
<!-- This creates an implicit track at the beginning of the container, and will span until it hits 2 lines named A-start. -->
<x style="grid-column:-5/span A-start 2">-5</x>
<!-- "A-start -1" implies we are looking for the first line to the left of -1 named A-start -->
<x style="grid-column:A-start -1/span A-start 2">A -1</x>
<!-- There are no lines named B, all implicit lines are named B, go left until we find the first implicit line named B, which turns out to be line -5.-->
<x style="grid-column:B -1/span A-start 2">B -1</x>
<x style="grid-column:A-start -2/span A-start 2">A -2</x>
<x style="grid-column:A-start -3/span A-start 2">A -3</x>
<x style="grid-column:A-start -4/span A-start 2">A -4</x>
<x style="grid-column:A-start -5/span A-start 2">A -5</x>
<x style="grid-column:A-start/span A-start 2">A</x>
<!-- Starts at B, spans until the next B, but there is no next B, so all implicit lines are named B, so it ends at the first implicit line. -->
<x style="grid-column:B/span B">B</x>
<x style="grid-column:A-start 1/span A-start 2">A 1</x>
<x style="grid-column:A-start 2/span A-start 2">A 2</x>
<x style="grid-column:A-start 3/span A-start 2">A 3</x>
<x style="grid-column:A-start 4/span A-start 2">A 4</x>
<x style="grid-column:A-start 5/span A-start 2">A 5</x>
<!-- These lines are explicitly placed to mark the top of where the gray boxes should go. -->
<y style="grid-column:-1/span A-start 2; top:0em"></y>
<y style="grid-column:4/span A-start 2; top:1em"></y>
<y style="grid-column:-2/span A-start 2; top:2em"></y>
<y style="grid-column:-3/span A-start 2; top:3em"></y>
<y style="grid-column:-4/span A-start 2; top:4em"></y>
<y style="grid-column:-5/span A-start 2; top:1em"></y>
<y style="grid-column:A-start -1/span A-start 2; top:5em"></y>
<y style="grid-column:B -1/span A-start 2; top:2em"></y>
<y style="grid-column:A-start -2/span A-start 2; top:6em"></y>
<y style="grid-column:A-start -3/span A-start 2; top:3em"></y>
<y style="grid-column:A-start -4/span A-start 2; top:5em"></y>
<y style="grid-column:A-start -5/span A-start 2; top:7em"></y>
<y style="grid-column:A-start/span A-start 2; top:8em"></y>
<y style="grid-column:B/span B; top:9em"></y>
<y style="grid-column:A-start 1/span A-start 2; top:10em"></y>
<y style="grid-column:A-start 2/span A-start 2; top:7em"></y>
<y style="grid-column:A-start 3/span A-start 2; top:4em"></y>
<y style="grid-column:A-start 4/span A-start 2; top:0em"></y>
<y style="grid-column:A-start 5/span A-start 2; top:1em"></y>
</div>
</body>
</html>

/css/css-grid/grid-lanes/grid-placement/grid-lanes-grid-placement-named-lines-dense-packing-001-ref.html

<!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: Definite column placement in a grid-lanes grid (double edge) with dense-packing enabled</title>
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
<link rel="author" title="Celeste Pan" href="mailto:celestepan@microsoft.com">
<style>
body,html { color:black; background:white; font:15px/1 monospace; padding:0; margin:0; }

.grid {
  display: grid;
  grid-template-columns: 40px 40px 40px 60px 60px 60px 40px 40px 40px 40px 40px 40px 40px;
  position: relative;
  border: 1px solid;
  grid-auto-flow: dense;
  column-gap: 1px;
}

x {
  background: grey;
}
y {
  position: absolute;
  border: 1px solid blue;
  top:0;height:0;left:0;right:0;
  grid-row-end:span 1!important;
}
</style>
</head>
<body>
<pre>grid-column: / span A-start 2</pre>
<div class="grid">
<x style="grid-row:1;  grid-column:4">&nbsp;</x>
<x style="grid-row:1;  grid-column:7/span 2;">-1</x>
<x style="grid-row:2;  grid-column:7/span 2;">4</x>
<x style="grid-row:3;  grid-column:6/span 3;">-2</x>
<x style="grid-row:4;  grid-column:5/span 4;">-3</x>
<x style="grid-row:5;  grid-column:4/span 4;">-4</x>
<x style="grid-row:2;  grid-column:3/span 2;">-5</x>
<x style="grid-row:6;  grid-column:5/span 4;">A -1</x>
<x style="grid-row:3;  grid-column:3/span 2;">B -1</x>
<x style="grid-row:7; grid-column:4/span 4;">A -2</x>
<x style="grid-row:4;  grid-column:3/span 2;">A -3</x>
<x style="grid-row:6; grid-column:2/span 3;">A -4</x>
<x style="grid-row:8; grid-column:1/span 4;">A -5</x>
<x style="grid-row:9; grid-column:4/span 4;">A</x>
<x style="grid-row:10; grid-column:4/span 4;">B</x>
<x style="grid-row:11; grid-column:4/span 4;">A 1</x>
<x style="grid-row:8; grid-column:5/span 4;">A 2</x>
<x style="grid-row:5; grid-column:8/span 2;">A 3</x>
<x style="grid-row:1;  grid-column:9/span 2;">A 4</x>
<x style="grid-row:2;  grid-column:10/span 2;">A 5</x>
<y style="grid-row:1;  grid-column:7/span 2;"></y>
<y style="grid-row:2;  grid-column:7/span 2;"></y>
<y style="grid-row:3;  grid-column:6/span 3;"></y>
<y style="grid-row:4;  grid-column:5/span 4;"></y>
<y style="grid-row:5;  grid-column:4/span 4;"></y>
<y style="grid-row:2;  grid-column:3/span 2;"></y>
<y style="grid-row:6;  grid-column:5/span 4;"></y>
<y style="grid-row:3;  grid-column:3/span 2;"></y>
<y style="grid-row:7; grid-column:4/span 4;"></y>
<y style="grid-row:4;  grid-column:3/span 2;"></y>
<y style="grid-row:6; grid-column:2/span 3;"></y>
<y style="grid-row:8; grid-column:1/span 4;"></y>
<y style="grid-row:9; grid-column:4/span 4;"></y>
<y style="grid-row:10; grid-column:4/span 4;"></y>
<y style="grid-row:11; grid-column:4/span 4;"></y>
<y style="grid-row:8; grid-column:5/span 4;"></y>
<y style="grid-row:5; grid-column:8/span 2;"></y>
<y style="grid-row:1;  grid-column:9/span 2;"></y>
<y style="grid-row:2;  grid-column:10/span 2;"></y>
</div>
</body>
</html>