<!DOCTYPE html>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<html>
<head>
  <title>CSS Test: Static position of abspos children in a column-reverse wrap-reverse flex container, with various "justify-content" values</title>
  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
  <link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
  <link rel="help" href="https://drafts.csswg.org/css-flexbox/#abspos-items">
  <meta charset="utf-8">
  <style>
    .container {
      display: flex;
      position: relative;
      flex-flow: column-reverse wrap-reverse;
      padding: 1px 2px;
      border: 1px solid black;
      background: yellow;
      margin-bottom: 5px;
      margin-right: 5px;
      float: left; /* For testing in "rows" of containers */
    }
    br { clear: both }

    .big > .container {
      height: 10px;
      width: 16px;
    }
    .small > .container {
      height: 2px;
      width: 4px;
    }

    .container > * {
      position: absolute;
      background: teal;
      height: 6px;
      width: 8px;
    }
  </style>
  <script src="/resources/testharness.js"></script>
  <script src="/resources/testharnessreport.js"></script>
  <script src="/resources/check-layout-th.js"></script>
</head>
<body onload="checkLayout('.container > div')">
  <div class="big">
    <!-- The various justify-content values, from
         https://www.w3.org/TR/css-align-3/#propdef-align-content -->
    <!-- normal -->
    <div class="container" style="justify-content: normal"><div data-offset-x="10" data-offset-y="5"></div></div>
    <br>
    <!-- <content-distribution> -->
    <div class="container" style="justify-content: space-between"><div data-offset-x="10" data-offset-y="5"></div></div>
    <div class="container" style="justify-content: space-around"><div data-offset-x="10" data-offset-y="3"></div></div>
    <div class="container" style="justify-content: space-evenly"><div data-offset-x="10" data-offset-y="3"></div></div>
    <div class="container" style="justify-content: stretch"><div data-offset-x="10" data-offset-y="5"></div></div>
    <br>
    <!-- <content-position>, part 1 -->
    <div class="container" style="justify-content: center"><div data-offset-x="10" data-offset-y="3"></div></div>
    <div class="container" style="justify-content: start"><div data-offset-x="10" data-offset-y="1"></div></div>
    <div class="container" style="justify-content: end"><div data-offset-x="10" data-offset-y="5"></div></div>
    <br>
    <!-- <content-position>, part 2 -->
    <div class="container" style="justify-content: flex-start"><div data-offset-x="10" data-offset-y="5"></div></div>
    <div class="container" style="justify-content: flex-end"><div data-offset-x="10" data-offset-y="1"></div></div>
    <div class="container" style="justify-content: left"><div data-offset-x="10" data-offset-y="1"></div></div>
    <div class="container" style="justify-content: right"><div data-offset-x="10" data-offset-y="1"></div></div>
    <br>
  </div>
  <div class="small">
    <!-- The various justify-content values, from
         https://www.w3.org/TR/css-align-3/#propdef-align-content -->
    <!-- normal -->
    <div class="container" style="justify-content: normal"><div data-offset-x="-2" data-offset-y="-3"></div></div>
    <br>
    <!-- <content-distribution> -->
    <div class="container" style="justify-content: space-between"><div data-offset-x="-2" data-offset-y="-3"></div></div>
    <div class="container" style="justify-content: space-around"><div data-offset-x="-2" data-offset-y="-1"></div></div>
    <div class="container" style="justify-content: space-evenly"><div data-offset-x="-2" data-offset-y="-1"></div></div>
    <div class="container" style="justify-content: stretch"><div data-offset-x="-2" data-offset-y="-3"></div></div>
    <br>
    <!-- <content-position>, part 1 -->
    <div class="container" style="justify-content: center"><div data-offset-x="-2" data-offset-y="-1"></div></div>
    <div class="container" style="justify-content: start"><div data-offset-x="-2" data-offset-y="1"></div></div>
    <div class="container" style="justify-content: end"><div data-offset-x="-2" data-offset-y="-3"></div></div>
    <br>
    <!-- <content-position>, part 2 -->
    <div class="container" style="justify-content: flex-start"><div data-offset-x="-2" data-offset-y="-3"></div></div>
    <div class="container" style="justify-content: flex-end"><div data-offset-x="-2" data-offset-y="1"></div></div>
    <div class="container" style="justify-content: left"><div data-offset-x="-2" data-offset-y="1"></div></div>
    <div class="container" style="justify-content: right"><div data-offset-x="-2" data-offset-y="1"></div></div>
    <br>
  </div>
</body>
</html>
