<?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 skinnier than its items, and with "direction: rtl" to
     swap the horizontal (cross) axis. -->
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>CSS Test: Testing the behavior of 'align-self' with a vertical flex container that's skinnier than its items and  with 'direction: rtl'</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-vert-rtl-003-ref.xhtml"/>
    <style>
      .flexbox {
        border: 1px dashed blue;
        width: 4px;
        display: flex;
        flex-direction: column;
        direction: rtl;
        font-family: sans-serif;
        font-size: 10px;
        margin-left: 80px;
      }

      div.big {
        font-size: 18px;
        width: 50px;
      }

      /* 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;
      }
   </style>
  </head>
  <body>
    <div class="flexbox">
      <div class="flex-start">start</div>
      <div class="flex-start big">a b</div>
      <div class="flex-end">end</div>
      <div class="flex-end big">a b</div>
      <div class="center">center</div>
      <div class="center big">a b</div>
      <div class="baseline">base</div>
      <div class="baseline big">abc</div>
      <div class="stretch">stretch</div>
      <div class="stretch big">a b</div>
    </div>
  </body>
</html>
