<!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 Test: Static position of abspos replaced children in a static-pos grid container, with various "justify-self" values</title>
  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
  <link rel="help" href="https://drafts.csswg.org/css-grid/#abspos-items">
  <link rel="match" href="grid-abspos-staticpos-justify-self-img-002-ref.html">
  <style>
    .container {
      display: grid;
      padding: 2px 1px;
      border: 1px solid black;
      background: yellow;
      margin-bottom: 5px;
      margin-right: 9px;
      float: left; /* For testing in "rows" of containers */
    }
    br { clear: both }

    .big > .container {
      width: 40px;
      height: 22px;
      grid: 3px 14px 3px / 2px 30px 2px;
    }
    .small > .container {
      grid: 3px 2px 3px / 0px 2px 0px;
      width: 2px;
      height: 4px;
      margin-bottom: 20px; /* to reduce overlap between overflowing images */
    }

    .container > * {
      position: absolute;
      grid-area: 2 / 2 / 3 / 3;
    }
  </style>
</head>
<body>
  <div class="big">
    <!-- The various justify-self values, from
         https://www.w3.org/TR/css-align-3/#propdef-justify-self -->
    <!-- auto | normal | stretch -->
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: auto"></div>
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: normal"></div>
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: stretch"></div>
    <br>
    <!-- <baseline-position> -->
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: baseline"></div>
    <br>
    <!-- <self-position>, part 1 -->
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: center"></div>
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: start"></div>
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: end"></div>
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: self-start"></div>
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: self-end"></div>
    <br>
    <!-- <self-position>, part 2 -->
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: flex-start"></div>
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: flex-end"></div>
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: left"></div>
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: right"></div>
    <br>
  </div>
  <div class="small">
    <!-- The various justify-self values, from
         https://www.w3.org/TR/css-align-3/#propdef-justify-self -->
    <!-- auto | normal | stretch -->
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: auto"></div>
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: normal"></div>
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: stretch"></div>
    <br>
    <!-- <baseline-position> -->
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: baseline"></div>
    <br>
    <!-- <self-position>, part 1 -->
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: center"></div>
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: start"></div>
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: end"></div>
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: self-start"></div>
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: self-end"></div>
    <br>
    <!-- <self-position>, part 2 -->
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: flex-start"></div>
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: flex-end"></div>
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: left"></div>
    <div class="container"><img src="support/colors-8x16.png"
                                style="justify-self: right"></div>
    <br>
  </div>
</body>
</html>
