wpt / css / css-grid / grid-lanes / subgrid / grid-subgridded-to-grid-lanes / line-names / row-line-names-004.html

Status: PASS | Duration: 6ms | Subtests: 1/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi

/css/css-grid/grid-lanes/subgrid/grid-subgridded-to-grid-lanes/line-names/row-line-names-004.html

<!DOCTYPE HTML>
<html><head>
  <meta charset="utf-8">
  <title>CSS Grid Lanes Test: subgrid item using mix of outer/inner line names from grid-lanes (rows)</title>
  <link rel="author" title="Alison Maher" href="mailto:almaher@microsoft.com">
  <link rel="help" href="https://drafts.csswg.org/css-grid-3">
  <link rel="match" href="row-line-names-004-ref.html">
  <style>
html,body {
  color:black; background-color:white; font:24px/1 monospace; padding:0; margin:0;
}

.grid-lanes {
  display: inline-grid-lanes;
  grid-template-rows: [a] 50px 50px 50px 50px [b] 50px 50px [a b];
  padding: 20px 10px;
}

.subgrid {
  display: grid;
  grid-template-rows: subgrid [x] [b] [] [] [b];
  grid-auto-columns: 10px;
  grid-row: 2 / span 4;
}

x { background: grey; }

  </style>
</head>
<body>

<div class="grid-lanes">
  <div class="subgrid">
    <x style="grid-column:1; grid-row: b / b 2"></x>
    <x style="grid-column:2; grid-row: b / b -1"></x>
    <x style="grid-column:3; grid-row: b / b -2"></x>
    <x style="grid-column:4; grid-row: b / span b"></x>
    <x style="grid-column:5; grid-row: b / span b 2"></x>
    <x style="grid-column:6; grid-row: span b / b 2"></x>
    <x style="grid-column:7; grid-row: span b 2 / b 2"></x>
    <x style="grid-column:8; grid-row: b -2 / b"></x>
    <x style="grid-column:9; grid-row: b -3 / b"></x>
    <x style="grid-column:10; grid-row: b / b"></x>
    <x style="grid-column:11; grid-row: b / b 10"></x>
    <x style="grid-column:12; grid-row: span b / b -2"></x>
  </div>
</div>

<script>
  const expectedResults = [
    "subgrid [x] [b] [] [] [b]",
  ];
  [...document.querySelectorAll('.subgrid')].forEach(function(subgrid, i) {
    let actual = window.getComputedStyle(subgrid)['grid-template-rows'];
    let expected = expectedResults[i];
    if (actual != expected) {
      let err = "Unexpected getComputedStyle value for subgrid " + i + " with className '" + subgrid.className + "':" +
      " Actual: \"" + actual + "\", Expected: \"" + expected + "\"";
      document.body.appendChild(document.createTextNode(err));
    }
  });
</script>

</body>
</html>

/css/css-grid/grid-lanes/subgrid/grid-subgridded-to-grid-lanes/line-names/row-line-names-004-ref.html

<!DOCTYPE HTML>
<html><head>
  <meta charset="utf-8">
  <style>
html,body {
  color:black; background-color:white; font:24px/1 monospace; padding:0; margin:0;
}

.grid-lanes {
  display: inline-grid-lanes;
  grid-template-rows: [a] 50px 50px 50px 50px [b] 50px 50px [a b];
  padding: 20px 10px;
}

.subgrid {
  display: grid;
  grid-template-rows: subgrid [x] [b] [] [] [b];
  grid-auto-columns: 10px;
  grid-row: 2 / span 4;
}

x { background: grey; }

  </style>
</head>
<body>

<div class="grid-lanes">
  <div class="subgrid">
    <x style="grid-column:1; grid-row: 2 / 4"></x>
    <x style="grid-column:2; grid-row: 2 / 5"></x>
    <x style="grid-column:3; grid-row: 2 / 4"></x>
    <x style="grid-column:4; grid-row: 2 / 4"></x>
    <x style="grid-column:5; grid-row: 2 / 5"></x>
    <x style="grid-column:6; grid-row: 2 / 4"></x>
    <x style="grid-column:7; grid-row: 1 / 4"></x>
    <x style="grid-column:8; grid-row: 2 / 4"></x>
    <x style="grid-column:9; grid-row: 2 / 3"></x>
    <x style="grid-column:10; grid-row: 2 / 3"></x>
    <x style="grid-column:11; grid-row: 2 / 5"></x>
    <x style="grid-column:12; grid-row: 2 / 4"></x>
  </div>
</div>

</body>
</html>