wpt / css / css-grid / abspos / positioned-grid-items-negative-indices-002.html

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

/css/css-grid/abspos/positioned-grid-items-negative-indices-002.html

<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Grid Layout Test: Absolutely positioned items with negative indices</title>
<link rel="help" href="https://drafts.csswg.org/css-grid-2/#abspos">
<link rel="match" href="positioned-grid-items-negative-indices-002-ref.html">
<meta name="assert" content="Checks that absolutely positioned items are properly placed and sized when they have negative indices.">
<style>
  #grid {
    display: grid;
    grid: 50px 50px / 50px 50px;
    margin: 1px 2px 3px 4px;
    padding: 100px 100px 100px 100px;
    border-width: 9px 3px 12px 6px;
    border-style: solid;
    width: 100px;
    height: 100px;
    position: relative;
    background-color: gray;
  }

  #grid > div {
    position: absolute;
    width: 100%;
    height: 100%;
  }

  #firstItem {
    background: magenta;
    grid-column: auto / -3;
    grid-row: auto / -3;
  }

  #secondItem {
    background: cyan;
    grid-column: -1 / auto;
    grid-row: -1 / auto;
  }

  #thirdItem {
    background: yellow;
    grid-column: -5 / -6;
    grid-row: -5 / -6;
    width: 25% !important;
    height: 25% !important;
  }

  #fourthItem {
    background: lime;
    grid-column: -2 / 3;
    grid-row: 2 / -1;
  }
</style>

<p>The test passes if it has the same output than the reference.</p>
<div id="grid">
  <div id="firstItem"></div>
  <div id="secondItem"></div>
  <div id="thirdItem"></div>
  <div id="fourthItem"></div>
</div>

/css/css-grid/abspos/positioned-grid-items-negative-indices-002-ref.html

<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Grid Layout Test: Absolutely positioned items reference file</title>
<style>
  #grid {
    display: grid;
    grid: 50px 50px / 50px 50px;
    margin: 1px 2px 3px 4px;
    padding: 100px 100px 100px 100px;
    border-width: 9px 3px 12px 6px;
    border-style: solid;
    width: 100px;
    height: 100px;
    position: relative;
    background-color: gray;
  }

  #grid > div {
    position: absolute;
    width: 100%;
    height: 100%;
  }

  #firstItem {
    background: magenta;
    grid-column: auto / 1;
    grid-row: auto / 1;
  }

  #secondItem {
    background: cyan;
    grid-column: 3 / auto;
    grid-row: 3 / auto;
  }

  #thirdItem {
    background: yellow;
    grid-column: 5 / 6;
    grid-row: 5 / 6;
    width: 25% !important;
    height: 25% !important;
  }

  #fourthItem {
    background: lime;
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }
</style>

<p>The test passes if it has the same output than the reference.</p>
<div id="grid">
  <div id="firstItem"></div>
  <div id="secondItem"></div>
  <div id="thirdItem"></div>
  <div id="fourthItem"></div>
</div>