<?xml version="1.0" encoding="UTF-8"?>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<!-- Testcase with a variety of 'display: flex' examples
     with margin-top and/or margin-bottom set to 'auto' on flex items. -->
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>CSS Test: Testing vertical auto margins on flex items in a horizontal 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/#auto-margins"/>
    <link rel="match" href="flexbox-margin-auto-horiz-002-ref.xhtml"/>
    <style>
      div.flexbox {
        border: 2px dotted black;
        display: flex;
        margin-bottom: 2px;
        width: 100px;
      }
      div.fixedSize {
        width:  20px;
        height: 20px;
      }
      div.gray        { background: gray;  }
      div.green       { background: green; }
      div.pink        { background: pink;  }
      div.blue        { background: blue;  }

      div.autoTop     { margin-top:    auto; }
      div.autoBottom  { margin-bottom: auto; }
      div.fixedTop    { margin-top:    10px; }
      div.fixedBottom { margin-bottom: 10px; }
    </style>
  </head>
  <body>

    <!-- fixed-height flexbox, with items that have auto margins -->
    <div class="flexbox" style="height: 100px">
      <div class="fixedSize green autoTop"/>
      <div class="fixedSize pink  autoBottom"/>
      <div class="fixedSize blue  autoTop autoBottom"/>
    </div>
    <!-- fixed-height flexbox, with items that have auto & fixed margins -->
    <div class="flexbox" style="height: 100px">
      <div class="fixedSize green autoTop fixedBottom"/>
      <div class="fixedSize pink  autoBottom fixedTop"/>
    </div>

    <!-- height-shrinkwrapping flexbox, sized by item w/ fixed height & margins,
         with other items that have auto margins -->
    <div class="flexbox">
      <div class="fixedSize green autoTop"/>
      <div class="fixedSize pink autoBottom"/>
      <div class="fixedSize blue autoTop autoBottom"/>
      <div class="fixedTop fixedBottom gray" style="width: 10px; height: 30px"/>
    </div>

    <!-- height-shrinkwrapping flexbox, sized by item w/ fixed height & margins,
         with other items that have auto & fixed margins -->
    <div class="flexbox">
      <div class="fixedSize green autoTop fixedBottom"/>
      <div class="fixedSize pink  autoBottom fixedTop"/>
      <div class="fixedTop fixedBottom gray" style="width: 10px; height: 30px"/>
    </div>

  </body>
</html>
