wpt / css / css-page / margin-boxes / auto-margins-002-print.html

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

/css/css-page/margin-boxes/auto-margins-002-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="Auto margins should never resolve to something negative, but be clamped to 0.">
<link rel="match" href="auto-margins-002-print-ref.html">
<style>
  @page {
    margin: 100px;
    size: 500px 440px;
    border: solid;
    background: red;
    @top-left-corner {
      border: solid;
      margin: auto;
      content: "";
      background: green;
    }
    @top-left {
      border: solid;
      margin: auto;
      content: "";
      background: green;
    }
    @top-center {
      border: solid;
      margin: auto;
      content: "";
      background: green;
    }
    @top-right {
      border: solid;
      margin: auto;
      content: "";
      background: green;
    }
    @top-right-corner {
      border: solid;
      margin: auto;
      content: "";
      background: green;
    }
    @right-top {
      border: solid;
      margin: auto;
      content: "";
      background: green;
    }
    @right-middle {
      border: solid;
      margin: auto;
      content: "";
      background: green;
    }
    @right-bottom {
      border: solid;
      margin: auto;
      content: "";
      background: green;
    }
    @bottom-right-corner {
      border: solid;
      margin: auto;
      content: "";
      background: green;
    }
    @bottom-right {
      border: solid;
      margin: auto;
      content: "";
      background: green;
    }
    @bottom-center {
      border: solid;
      margin: auto;
      content: "";
      background: green;
    }
    @bottom-left {
      border: solid;
      margin: auto;
      content: "";
      background: green;
    }
    @bottom-left-corner {
      border: solid;
      margin: auto;
      content: "";
      background: green;
    }
    @left-bottom {
      border: solid;
      margin: auto;
      content: "";
      background: green;
    }
    @left-middle {
      border: solid;
      margin: auto;
      content: "";
      background: green;
    }
    @left-top {
      border: solid;
      margin: auto;
      content: "";
      background: green;
    }
  }
  :root {
    print-color-adjust: exact;
  }
  body {
    background: white;
  }
</style>
There should be 16 margin boxes around this page area. They should take up all
available space, and there should be no red, only green rectangles with a black
border.

/css/css-page/margin-boxes/auto-margins-002-print-ref.html

<!DOCTYPE html>
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
<style>
  @page {
    margin: 0;
    size: 500px 440px;
  }
  :root {
    print-color-adjust: exact;
  }
  body {
    display: grid;
    grid-template-columns: 100px auto 100px;
    grid-template-rows: 100px auto 100px;
    height: 100vh;
    margin: 0;
  }
  .square {
    box-sizing: border-box;
    width: 100px;
    border: solid;
    flex: 1;
    background: green;
  }
  .vertical-edge {
    display: flex;
    justify-content: space-between;
  }
  .horizontal-edge {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
  }
  .pagearea {
    border: solid;
    padding: 8px;
  }
</style>

<div class="square"></div>
<div class="vertical-edge">
  <div class="square"></div>
  <div class="square"></div>
  <div class="square"></div>
</div>
<div class="square"></div>
<div class="horizontal-edge">
  <div class="square"></div>
  <div class="square"></div>
  <div class="square"></div>
</div>
<div class="pagearea">
  There should be 16 margin boxes around this page area. They should take up all
  available space, and there should be no red, only green rectangles with a
  black border.
</div>
<div class="horizontal-edge">
  <div class="square"></div>
  <div class="square"></div>
  <div class="square"></div>
</div>
<div class="square"></div>
<div class="vertical-edge">
  <div class="square"></div>
  <div class="square"></div>
  <div class="square"></div>
</div>
<div class="square"></div>