wpt / css / css-flexbox / percentage-heights-019.html

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

/css/css-flexbox/percentage-heights-019.html

<!DOCTYPE html>
<html>
  <meta charset="utf-8">
  <title>CSS Flexbox Test: Test the percentage resolution of a child in a flex item that has an indefinite main size</title>
  <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/#definite-sizes">
  <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1739048">
  <link rel="match" href="../reference/ref-filled-green-100px-square.xht">
  <meta name="assert" content="Per 9.8.4, once the outer flex container's cross size has been determined, the inner flex container's main size is considered definite. Then per 9.8.1, the item's post-flexing main size is also treated as definite. Therefore, in the final layout, the child's percentage block-size should be treated as resolvable and should be honored.">

  <style>
  .outer {
    display: flex;
  }

  .inner {
    display: flex;
    flex-direction: column;
    inline-size: 100px;
  }

  .item {
    overflow: hidden; /* This is essential to reproduce the bug. */
    min-block-size: 100px;
    background: red;
  }

  .child {
    block-size: 100%;
    background: green;
  }
  </style>

  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>

  <div class="outer">
    <div class="inner">
      <div class="item">
        <div class="child"></div>
      </div>
    </div>
  </div>
</html>

/css/reference/ref-filled-green-100px-square.xht

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>CSS Reftest Reference</title>
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
  <style type="text/css"><![CDATA[
  div
  {
  background-color: green;
  height: 100px;
  width: 100px;
  }
  ]]></style>
 </head>
 <body>
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
  <div></div>
 </body>
</html>