<?xml version="1.0" encoding="UTF-8"?>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<!-- Testcase for align-items / align-self behavior, with all the possible
     values included on different items within a flex container, and with the
     flex container being shorter than its items. -->
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>CSS Test: Testing the behavior of 'align-self' with a horizontal flex container that's shorter than its items</title>
    <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/>
    <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#align-items-property"/>
    <link rel="match" href="flexbox-align-self-horiz-003-ref.xhtml"/>
    <style>
      .flexbox {
        border: 1px dashed blue;
        padding: 3px;
        height: 4px;
        display: inline-flex;
        font-size: 10px;
        line-height: 10px;
        font-family: sans-serif;
      }

      .flexbox > div {
        width: 40px;
      }

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

      /* Classes for each of the various align-self values */
      .flex-start {
        background: lime;
        align-self: flex-start;
      }
      .flex-end {
        background: orange;
        align-self: flex-end;
      }
      .center {
        background: lightblue;
        align-self: center;
      }
      .baseline {
        background: teal;
        align-self: baseline;
      }
      .stretch {
        background: pink;
        align-self: stretch;
      }
      .auto {
        background: yellow;
        align-self: auto;
      }
      .unspecified {
        background: lightgreen;
      }
      .initial {
        background: aqua;
        align-self: initial;
      }
      .inherit {
        background: violet;
        align-self: inherit;
      }
      .normal {
        background: tan;
        align-self: normal;
      }
   </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">end</div>
      <div class="flex-end big">a b c d e f</div>
      <div class="center">center</div>
      <div class="center big">a b c d e f</div>
      <div class="baseline">base</div>
      <div class="baseline big">abc</div>
      <div class="stretch">stretch</div>
      <div class="stretch big">a b c d e f</div>
      <div class="auto">auto</div>
      <div class="unspecified">unspec</div>
      <div class="initial">initial</div>
      <div class="inherit">inherit</div>
      <div class="normal">normal</div>
    </div>
  </body>
</html>
