wpt / css / css-flexbox / flexbox-margin-auto-horiz-001.xhtml

Status: PASS | Duration: 7ms | Subtests: 1/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi

/css/css-flexbox/flexbox-margin-auto-horiz-001.xhtml

<?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-left and/or margin-right set to 'auto'. -->
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>CSS Test: Testing horizontal 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-001-ref.xhtml"/>
    <style>
      div.flexbox {
        width: 200px;
        height: 20px;
        background: lightgray;
        display: flex;
        margin-bottom: 2px;
      }
      div.a {
        width: 20px;
        background: green;
        margin-left: auto;
      }
      div.b {
        width: 20px;
        background: pink;
        margin-left: auto;
        margin-right: auto;
      }
      div.c {
        width: 20px;
        background: purple;
        margin-right: auto;
      }
    </style>
  </head>
  <body>
    <!-- just one item -->
    <div class="flexbox">
      <div class="a"/>
    </div>
    <div class="flexbox">
      <div class="b"/>
    </div>
    <div class="flexbox">
      <div class="c"/>
    </div>

    <!-- Two items -->
    <div class="flexbox">
      <div class="a"/><div class="b"/>
    </div>
    <div class="flexbox">
      <div class="a"/><div class="c"/>
    </div>
    <div class="flexbox">
      <div class="b"/><div class="c"/>
    </div>

    <!-- Three items -->
    <div class="flexbox">
      <div class="a"/><div class="b"/><div class="c"/>
    </div>
    <div class="flexbox">
      <div class="a"/><div class="c"/><div class="b"/>
    </div>
    <div class="flexbox">
      <div class="b"/><div class="a"/><div class="c"/>
    </div>
    <div class="flexbox">
      <div class="b"/><div class="c"/><div class="a"/>
    </div>
    <div class="flexbox">
      <div class="c"/><div class="a"/><div class="b"/>
    </div>
    <div class="flexbox">
      <div class="c"/><div class="b"/><div class="a"/>
    </div>
  </body>
</html>

/css/css-flexbox/flexbox-margin-auto-horiz-001-ref.xhtml

<?xml version="1.0" encoding="UTF-8"?>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>CSS Reftest Reference</title>
    <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/>
    <style>
      div { height: 20px; }
      div.flexbox {
        width: 200px;
        background: lightgray;
        margin-bottom: 2px;
      }
      div.a {
        width: 20px;
        background: green;
        display: inline-block;
      }
      div.b {
        width: 20px;
        background: pink;
        display: inline-block;
      }
      div.c {
        width: 20px;
        background: purple;
        display: inline-block;
      }

      <!-- These classes allow us to conveniently/concisely specify margin
           values below, for exact positioning of the items on each reference
           line. ("l" = "margin-_l_eft", and the number = number of pixels) -->
      div.l180 { margin-left: 180px }
      div.l90  { margin-left:  90px }
      div.l80  { margin-left:  80px }
      div.l70  { margin-left:  70px }
      div.l53  { margin-left: calc(160px / 3) } <!-- == 53.33333px -->
      div.l35  { margin-left:  35px }
    </style>
  </head>
  <body>
    <!-- just one item -->
    <div class="flexbox">
      <div class="a l180"/>
    </div>
    <div class="flexbox">
      <div class="b l90"/>
    </div>
    <div class="flexbox">
      <div class="c"/>
    </div>

    <!-- Two items -->
    <div class="flexbox">
      <div class="a l53"/><div class="b l53"/>
    </div>
    <div class="flexbox">
      <div class="a l80"/><div class="c"/>
    </div>
    <div class="flexbox">
      <div class="b l53"/><div class="c l53"/>
    </div>

    <!-- Three items -->
    <div class="flexbox">
      <div class="a l35"/><div class="b l35"/><div class="c l35"/>
    </div>
    <div class="flexbox">
      <div class="a l35"/><div class="c"/><div class="b l70"/>
    </div>
    <div class="flexbox">
      <div class="b l35"/><div class="a l70"/><div class="c"/>
    </div>
    <div class="flexbox">
      <div class="b l35"/><div class="c l35"/><div class="a l70"/>
    </div>
    <div class="flexbox">
      <div class="c"/><div class="a l70"/><div class="b l35"/>
    </div>
    <div class="flexbox">
      <div class="c"/><div class="b l70"/><div class="a l70"/>
    </div>
  </body>
</html>