<?xml version="1.0" encoding="UTF-8"?>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<!-- Reference case for align-items / align-self behavior, using floated divs
     in place of flex items and using relative positioning in place of the
     align-items / align-self properties. -->
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>CSS Reftest Reference</title>
    <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/>
    <style>
      .flexbox {
        border: 1px dashed blue;
        height: 200px;
        display: inline-block;
        font-size: 10px;
        line-height: 10px;
        vertical-align: top;
      }

      .flexbox > div {  float: left }
      .flex-start, .flex-end, .center, .baseline, .stretch,
      .auto, .unspecified, .initial, .inherit, .self-start, .self-end {
        width: 40px;
        margin:       1px 2px 3px 4px;
        border-width: 2px 3px 4px 5px;
        padding:      3px 4px 5px 6px;
        position: relative;
        border-style: dotted;
      }

      .big {
        height: 100px;
        font-size: 20px;
        line-height: 20px;
      }

      /* Classes for each of the various align-self values */
      .flex-start {
        background: lime;
      }
      .flex-end {
        background: orange;
      }
      .center {
        background: lightblue;
      }
      .baseline {
        background: teal;
      }
      .stretch {
        background: pink;
      }
      .self-start {
        background: yellow;
      }
      .self-end {
        background: purple;
      }
      .wmvertrev {
        writing-mode: vertical-lr;
        direction: rtl;
      }
   </style>
  </head>
  <body>
    <div class="flexbox">
      <div class="flex-start">start</div>
      <div class="flex-start big">a b c d e f</div>
      <div class="flex-end" style="top: 172px">end</div>
      <div class="flex-end big"  style="top: 82px">a b c d e f</div>
      <div class="center" style="top: 86px">center</div>
      <div class="center big" style="top: 41px">a b c d e f</div>
    </div>
    <br/>
    <div class="flexbox">
      <!-- We use inline-blocks inside of a wrapper-block as references for the
           baseline-aligned flex items, since inline-blocks get
           baseline-aligned in block layout. We also need to specify the widths
           manually here since the "flexbox > div" child-selector doesn't
           handle these guys (since they're grandchildren).
        -->
      <div>
        <div class="baseline"
             style="display: inline-block">base</div
       ><div class="baseline big"
             style="display: inline-block">abc</div>
      </div>
      <div class="stretch" style="height: 182px">stretch</div>
      <div class="stretch big">a b c d e f</div>
    </div>
    <br/>
    <div class="flexbox">
      <div class="self-start">self-start</div>
      <div class="self-start big">a b c d e f</div>
      <div class="self-end wmvertrev">self-end</div>
      <div class="self-end wmvertrev big">a b c d e f</div>
    </div>
  </body>
</html>
