<!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 horizontal 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 horizontal 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-horiz-002-ref.html">
  <meta charset="utf-8">
  <style>
    .flexContainer {
      display: inline-flex;
      flex-wrap: wrap-reverse;
      width: 40px;
      height: 40px;
      background: lightblue;
    }
    .flexContainer > * {
      width: 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>
