wpt / css / css-break / flexbox / single-line-row-flex-fragmentation-042-print.html

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

/css/css-break/flexbox/single-line-row-flex-fragmentation-042-print.html

<!DOCTYPE html>
<html>
  <meta charset="utf-8">
  <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
  <link rel="author" title="Mozilla" href="https://www.mozilla.org/">
  <link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#pagination">
  <link rel="match" href="single-line-row-flex-fragmentation-042-print-ref.html">

  <style>
  @page { size: 5in 3in; margin: 0.5in; }

  :root {
    print-color-adjust: exact;
  }

  body { margin: 0; }

  .flexbox {
    display: flex;
    border: 0.25in solid black;
    font-size: 0.25in;
  }
  .item {
    contain: size;
    box-sizing: border-box;
    border: 4px solid purple;
    width: 25%;
    height: 0.5in;
  }
  </style>

  <!-- This div makes the flexbox not at the top of first page. -->
  <div style="height: 0.25in; background: gray;"></div>

  <div class="flexbox">
    <div class="item" style="margin-top: 1in;">1</div>
    <div class="item">2</div>

    <!-- Due to fragmentation, item 3 is being pushed down and placed at the top
         of page 2, enlarging the flex container's block-size. Observe item 3
         and item 4's block-end edges. Before fragmentation, both are at the
         same level; after fragmentation, item 3's block-end edge becomes lower
         than item 4's, and making item 4's block-end edge no longer touch the
         flex container's content-box block-end edge.-->
    <div class="item" style="margin-top: 1in; height: 1in;">3</div>
    <div class="item" style="align-self: flex-end;">4</div>
  </div>

  <div style="height: 0.25in; background: gray;"></div>
</html>

/css/css-break/flexbox/single-line-row-flex-fragmentation-042-print-ref.html

<!DOCTYPE html>
<html>
  <meta charset="utf-8">
  <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
  <link rel="author" title="Mozilla" href="https://www.mozilla.org/">

  <style>
  @page { size: 5in 3in; margin: 0.5in; }

  :root {
    print-color-adjust: exact;
  }

  body { margin: 0; }

  .flexbox {
    border: 0.25in solid black;
    font-size: 0.25in;
    height: 2.5in;
  }
  .item {
    position: relative;
    contain: size;
    box-sizing: border-box;
    border: 4px solid purple;
    width: 25%;
    height: 0.5in;
  }
  .gap {
    height: 0.5in;
  }
  </style>

  <!-- This div makes the flexbox not at the top of first page. -->
  <div style="height: 0.25in; background: gray;"></div>

  <div class="flexbox">
    <div class="item" style="left: 25%;">2</div>
    <div class="gap"></div>
    <div class="item">1</div>
    <div class="item" style="left: 50%; height: 1in;">3</div>
    <div class="item" style="left: 75%; top: -1in;">4</div>
  </div>

  <div style="height: 0.25in; background: gray;"></div>
</html>