<!DOCTYPE html>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<!-- Testcase for how we compute the baseline of a vertical flex container
     with several flex lines (wrapping in the reverse direction).
     The spec says this about this case:
      [Given that the first line has no baseline-aligned items:]
       ...if the flex container has at least one flex item, and its
       first flex item has a baseline parallel to the flex
       container's main axis, the flex container's main-axis
       baseline is that baseline.
-->
<html>
<head>
  <title>CSS Test: Testing the baseline of a vertical flex container with multiple flex lines</title>
  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
  <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#flex-baselines">
  <link rel="match" href="flexbox-baseline-multi-line-vert-002-ref.html">
  <meta charset="utf-8">
  <style>
    .flexContainer {
      display: inline-flex;
      flex-direction: column;
      flex-wrap: wrap-reverse;
      width: 40px;
      height: 40px;
      background: lightblue;
    }
    .flexContainer > * {
      width: 20px;
      height: 20px;
    }

    /* We'll make the second flex line not paint anything, so that the
       reference case doesn't need to bother matching it. */
    .flexContainer > *:nth-child(3),
    .flexContainer > *:nth-child(4) {
      visibility: hidden;
    }

    .smallFont {
      font-size: 8px;
      line-height: 8px;
    }
    .medFont {
      font-size: 12px;
      line-height: 12px;
    }
    .bigFont {
      font-size: 16px;
      line-height: 16px;
    }
  </style>
</head>
<body>
  a
  <!-- Flex containers with flex items that have a mix of baselines: -->
  <div class="flexContainer">
    <div class="medFont">b</div
    ><div class="bigFont">c</div
    ><div class="bigFont">d</div
    ><div class="medFont">e</div>
  </div>

  <div class="flexContainer">
    <div class="bigFont">f</div
    ><div class="smallFont">g</div
    ><div class="medFont">h</div
    ><div class="bigFont">i</div>
  </div>

  <!-- Flex container with second line baseline-aligned
       (shouldn't make a difference) -->
  <div class="flexContainer">
    <div class="smallFont">j</div
    ><div class="bigFont">k</div
    ><div class="bigFont" style="align-self: baseline">l</div
    ><div class="medFont" style="align-self: baseline">m</div>
  </div>
  n

</body>
</html>
