summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-break/flexbox/flex-fragmented-with-float-descendant-001.html
blob: f4cb7a842435fa820cc7bfbd4708709d9b2578d9 (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
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>CSS Test: Floats in fragmented flex container shouldn't improperly inflate overflow areas</title>
  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
  <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1695509">
  <link rel="match" href="flex-fragmented-with-float-descendant-001-ref.html">
  <!-- This is a regression test for a Firefox bug where Firefox was improperly
       contributing a float's stale position (at an intermediate point in
       layout where it's pushed off the bottom of one column) to the overflow
       areas. This test checks for this by using "outline" to visualize the
       overflow areas, to ensure they're not unexpectedly large. -->
  <style>
    .multicol {
      width: 300px;
      columns: 100px auto;
      max-height: 160px;
      border: 3px solid pink;
    }
    .container {
      display: flex;
    }
    .weird-flex-item {
      border: 4px solid teal;
      outline: 4px solid blue;
    }
    .tallFloat {
      float: left;
      border: 3px solid black;
      height: 500px;
      width: 100px;
      background: yellow;
    }
    .float {
      float: left;
      background: cyan;
      width: 100px;
    }
    .inside-float {
      height: 30px;
      width: 30px;
      background: purple;
      display: inline-block;
    }
  </style>
</head>
<body>
  <div class="multicol">
    <div class="container">
      <div class="weird-flex-item">
        <div class="tallFloat"></div>
        <br>
        <div class="float">
          <div class="inside-float">
          </div>
        </div>
      </div>
    </div>
  </div>
</body>
</html>