wpt / css / css-contain / contain-layout-overflow-001.html

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

/css/css-contain/contain-layout-overflow-001.html


<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
  <title>CSS Test: 'contain: layout' should force all overflow to be ink overflow.</title>
  <link rel="author" title="Morgan Rae Reschenberg" href="mailto:mreschenberg@berkeley.edu">
  <link rel="help" href="https://drafts.csswg.org/css-contain/#containment-layout">
  <link rel="match" href="contain-layout-overflow-001-ref.html">
  <style>
  .contain {
    contain: layout;
  }
  .outer {
    height: 100px;
    width: 100px;
  }
  .auto {
    overflow: auto;
  }
  .inner-sm {
    height: 50px;
    width: 50px;
    background: lightblue;
  }
  .inner-lg {
    height: 200px;
    width: 200px;
    background: lightblue;
  }
  .pass {
    background: green;
  }
  .fail {
    background: red;
  }
  .border {
    border: 5px solid green;
  }
  </style>
</head>
<body>
  <!--CSS Test: Elements with contain:layout that do not produce scrollable overflow should paint as if containment were not applied. -->
  <div class="outer">
    <div class="inner-sm contain"></div>
  </div>
  <br>

  <!--CSS Test: Layout-contained elements that overflow their container and have children who overflow should produce the same amount of scrollable overflow as if there were no children. -->
  <div class="outer auto">
    <div class="inner-lg contain">
      <div class="inner-lg pass"></div>
      <div class="inner-lg fail"></div>
    </div>
  </div>
  <br>

  <!--CSS Test: Layout-contained elements that do not overflow their container, but have children who overflow, should not allow their children to affect the scrollable overflow regions of their parent. -->
  <div class="outer auto">
    <div class="inner-sm contain border">
      <div class="inner-lg">
      </div>
    </div>
  </div>
</body>
</html>

/css/css-contain/contain-layout-overflow-001-ref.html

<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
  <title>CSS Reftest Reference</title>
  <link rel="author" title="Morgan Rae Reschenberg" href="mailto:mreschenberg@berkeley.edu">
  <style>
  .outer {
    height: 100px;
    width: 100px;
  }
  .auto {
    overflow: auto;
  }
  .inner-sm {
    height: 50px;
    width: 50px;
    background: lightblue;
  }
  .inner-lg-1 {
    height: 95px;
    width: 95px;
    background: lightblue;
  }
  .inner-lg-2 {
    height: 200px;
    width: 200px;
  }
  .pass {
    background: green;
  }
  .border {
    border: 5px solid green;
  }

  </style>
</head>
<body>
  <div class="outer">
    <div class="inner-sm"></div>
  </div>
  <br>

  <div class="outer auto">
    <div class="inner-lg-2 pass">
    </div>
  </div>
  <br>

  <div class="inner-sm border">
    <div class="inner-lg-1">
    </div>
  </div>
</body>
</html>