summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-contain/contain-layout-overflow-002.html
blob: 4929dc5d33e760503c9a7d98d6adbafa3f07637a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
  <title>CSS Test: 'contain: layout' should force all overflow to be ink overflow (including when the overflow comes from floated descendants)</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-002-ref.html">
  <style>
  .contain {
    contain: layout;
  }
  .float { float: left; }
  .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 float"></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 float"></div>
      <div class="inner-lg fail float"></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 float">
      </div>
    </div>
  </div>
</body>
</html>