wpt / css / css-page / margin-boxes / dimensions-008-print.html

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

/css/css-page/margin-boxes/dimensions-008-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="Test auto lengths. Min content sizes are larger than available size. No center/middle boxes.">
<meta name="flags" content="ahem">
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
<link rel="match" href="dimensions-008-print-ref.html">
<style>
  :root {
    print-color-adjust: exact;
  }
  @page {
    margin: 6em;
    width: 20em;
    height: 16em;
    font: 16px/1 Ahem;
    white-space: pre-wrap;

    /* Total min size is larger than available size. Shrink proportionally to
       min sizes. */

    /* Left margin box min: 18em
       Right margin box min: 6em
       Flex will be the same as min. Total flex: 18+6=24

       Available space: 20em
       Unused space: 20em - 24em = -4em

       Left width: 18em + (-4em) * 18/24 = 15em
       Right width: 6em + (-4em) * 6/24 = 5em */
    @top-left {
      text-align: left;
      vertical-align: top;
      content: "xxxxxxxxxxxxxxxxxx x";
      margin-bottom: 3em;
      background: hotpink;
    }
    @top-right {
      text-align: left;
      vertical-align: top;
      margin-top: 3em;
      content: "xxxxxx xxx";
      background: yellow;
    }

    /* Top margin box min: 18em (18 lines)
       Bottom margin box min: 30em (30 lines)
       Flex will be the same as min. Total flex: 18+30=48

       Available space: 16em
       Unused space: 16em - 48em = -32em

       Top height: 18em + (-32em) * 18/48 = 6em
       Bottom height: 30em + (-32em) * 30/48 = 10em */
    @left-top {
      text-align: left;
      vertical-align: top;
      margin-right: 3em;
      content: "x\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\a";
      background: hotpink;
    }
    @left-bottom {
      text-align: left;
      vertical-align: top;
      margin-left: 3em;
      content: "x\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\ax\a";
      background: yellow;
    }
</style>

/css/css-page/margin-boxes/dimensions-008-print-ref.html

<!DOCTYPE html>
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
<meta name="flags" content="ahem">
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
<style>
  :root {
    print-color-adjust: exact;
    font: 16px/1 Ahem;
  }
  @page {
    margin: 0;
    width: 32em;
    height: 28em;
  }
  body {
    margin: 0;
  }
  .grid {
    display: grid;
    grid-template-columns: 6em auto 6em;
    grid-template-rows: 6em auto 6em;
    height: 100vh;
    overflow: clip;
  }
  .vertical-edge {
    display: flex;
  }
  .horizontal-edge {
    display: flex;
    flex-flow: column;
  }
</style>
<div class="grid">
  <div class="corner"></div>
  <div class="vertical-edge">
    <div style="width:15em; margin-bottom:3em; background:hotpink;">
      xxxxxxxxxxxxxxxxxx x
    </div>
    <div style="width:5em; margin-top:3em; background:yellow;">
      xxxxxx xxx
    </div>
  </div>
  <div class="corner"></div>

  <div class="horizontal-edge">
    <div style="height:6em; margin-right:3em; background:hotpink;">
      x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>
    </div>
    <div style="height:10em; margin-left:3em; background:yellow;">
      x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>
    </div>
  </div>
  <div></div>
  <div class="horizontal-edge"></div>

  <div class="corner"></div>
  <div class="vertical-edge"></div>
  <div class="corner"></div>
</div>