wpt / css / css-page / margin-boxes / overconstrained-001-print.html

Status: FAIL | Duration: 18ms | Subtests: 0/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi

/css/css-page/margin-boxes/overconstrained-001-print.html

<!DOCTYPE html>
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
<link rel="help" href="https://drafts.csswg.org/css-page-3/#margin-dimension">
<meta name="assert" content="In an overconstrained situation, margins facing away from the page center are treated as auto, pushing the margin boxes towards to page area">
<link rel="match" href="overconstrained-001-print-ref.html">
<style>
  @page {
    margin: 100px;
    size: 500px 400px;
    border: solid blue;
    @top-left-corner {
      border: solid;
      width: 25px;
      height: 25px;
      margin: 3px;
      content: "";
    }
    @top-left {
      border: solid;
      width: 25px;
      height: 25px;
      margin: 3px;
      content: "";
    }
    @top-center {
      border: solid;
      width: 25px;
      height: 25px;
      margin: 3px;
      content: "";
    }
    @top-right {
      border: solid;
      width: 25px;
      height: 25px;
      margin: 3px;
      content: "";
    }
    @top-right-corner {
      border: solid;
      width: 25px;
      height: 25px;
      margin: 3px;
      content: "";
    }
    @right-top {
      border: solid;
      width: 25px;
      height: 25px;
      margin: 3px;
      content: "";
    }
    @right-middle {
      border: solid;
      width: 25px;
      height: 25px;
      margin: 3px;
      content: "";
    }
    @right-bottom {
      border: solid;
      width: 25px;
      height: 25px;
      margin: 3px;
      content: "";
    }
    @bottom-right-corner {
      border: solid;
      width: 25px;
      height: 25px;
      margin: 3px;
      content: "";
    }
    @bottom-right {
      border: solid;
      width: 25px;
      height: 25px;
      margin: 3px;
      content: "";
    }
    @bottom-center {
      border: solid;
      width: 25px;
      height: 25px;
      margin: 3px;
      content: "";
    }
    @bottom-left {
      border: solid;
      width: 25px;
      height: 25px;
      margin: 3px;
      content: "";
    }
    @bottom-left-corner {
      border: solid;
      width: 25px;
      height: 25px;
      margin: 3px;
      content: "";
    }
    @left-bottom {
      border: solid;
      width: 25px;
      height: 25px;
      margin: 3px;
      content: "";
    }
    @left-middle {
      border: solid;
      width: 25px;
      height: 25px;
      margin: 3px;
      content: "";
    }
    @left-top {
      border: solid;
      width: 25px;
      height: 25px;
      margin: 3px;
      content: "";
    }
  }
</style>
There should be 16 margin boxes around this page area. Within their available
space, they should all be squares, and be aligned towards the center of the
page, with a tiny margin separating their border from the blue border.

/css/css-page/margin-boxes/overconstrained-001-print-ref.html

<!DOCTYPE html>
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
<style>
  @page {
    margin: 0;
    size: 500px 400px;
  }
  body {
    display: grid;
    grid-template-columns: 100px auto 100px;
    grid-template-rows: 100px auto 100px;
    height: 100vh;
    margin: 0;
  }
  .square {
    border: solid;
    width: 25px;
    height: 25px;
    margin: 3px;
  }
  .square.left {
    margin-left: auto;
  }
  .square.top {
    margin-top: auto;
  }
  .vertical-edge {
    display: flex;
    justify-content: space-between;
  }
  .horizontal-edge {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
  }
  .pagearea {
    border: solid blue;
    padding: 8px;
  }
</style>

<div class="square left top"></div>
<div class="vertical-edge">
  <div class="square top"></div>
  <div class="square top"></div>
  <div class="square top"></div>
</div>
<div class="square top"></div>
<div class="horizontal-edge">
  <div class="square left"></div>
  <div class="square left"></div>
  <div class="square left"></div>
</div>
<div class="pagearea">
  There should be 16 margin boxes around this page area. Within their available
  space, they should all be squares, and be aligned towards the center of the
  page, with a tiny margin separating their border from the blue border.
</div>
<div class="horizontal-edge">
  <div class="square"></div>
  <div class="square"></div>
  <div class="square"></div>
</div>
<div class="square left"></div>
<div class="vertical-edge">
  <div class="square"></div>
  <div class="square"></div>
  <div class="square"></div>
</div>
<div class="square"></div>