<?xml version="1.0" encoding="UTF-8"?>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<!-- Testcase for behavior of the 'baseline' value for align-items (and
     align-self, implicitly). This test baseline-aligns various types of
     content, and the flexbox's vertical size depends on the aggregate
     post-alignment height of its children. This test also uses
     "flex-wrap: wrap-reverse" to make the cross-axis bottom-to-top instead
     of top-to-bottom.
-->
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>CSS Test: Baseline alignment of block flex items with 'baseline' value for 'align-items' / 'align-self' in a wrap-reverse flex container</title>
    <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/>
    <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#baseline-participation"/>
    <link rel="match" href="flexbox-align-self-baseline-horiz-001-ref.xhtml"/>
    <style>
      .flexbox {
        display: flex;
        flex-wrap: wrap-reverse;
        border: 1px dashed blue;
        font: 14px sans-serif;
      }
      .base {
        align-items: baseline;
      }
      .lastbase {
        align-items: last baseline;
      }

      .big {
        height: 100px;
        font: 24px sans-serif;
        margin-top: 20px;
      }
      .super {
        vertical-align: super;
        font-size: 12px;
      }
      .sub {
        vertical-align: sub;
        font-size: 12px;
      }

      .lime   { background: lime;   }
      .yellow { background: yellow; }
      .orange { background: orange; }
      .pink   { background: pink;   }
      .aqua   { background: aqua;   }
      .tan    { background: tan;    }
   </style>
  </head>
  <body>
    <div class="flexbox base">
      <div class="lime">blk_1line</div>
      <div class="yellow">blk<br/>2lines</div>
      <div class="orange"><span class="super">super</span></div>
      <div class="pink"><span class="sub">sub</span></div>
      <div class="aqua big">big<br/>text<br/>3lines</div>
      <i class="tan">ital<br/>ic</i>
    </div>
    <div class="flexbox lastbase">
      <div class="lime">blk_1line</div>
      <div class="yellow">blk<br/>2lines</div>
      <div class="orange"><span class="super">super</span></div>
      <div class="pink"><span class="sub">sub</span></div>
      <div class="aqua big">big<br/>text<br/>3lines</div>
      <i class="tan">ital<br/>ic</i>
    </div>
  </body>
</html>
