<!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 items, none of which have "align-self:baseline".  The
     spec says this about this case:
       ...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 whose flex items are not baseline-aligned</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-item-vert-001-ref.html">
  <meta charset="utf-8">
  <link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
  <style>
    body {
      margin: 0;
      font: 20px Ahem;
      line-height: 20px;
      /* Baseline is 0.8em = 16px from top */
    }
    .flexContainer {
      display: inline-flex;
      flex-direction: column;
      background: lightblue;
    }
    .smallFont {
      font-size: 10px;
      line-height: 10px;
      /* Baseline is 0.8em = 8px from top */
    }
    .bigFont {
      font-size: 20px;
      line-height: 20px;
      /* Baseline is 0.8em = 16px from top */
    }
  </style>
</head>
<body>
  a
  <div class="flexContainer">
    <div class="smallFont">b</div
    ><div class="bigFont">c</div>
  </div>
  <div class="flexContainer">
    <div class="bigFont">d</div
    ><div class="smallFont">e</div>
  </div>
</body>
</html>
