<!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.
     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-001-ref.html">
  <meta charset="utf-8">
  <style>
    .flexContainer {
      display: inline-flex;
      flex-wrap: wrap;
      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>
