gecko-dev/layout/reftests/floats/bfc-displace-1a-ref.html
L. David Baron 119b557460 Bug 538194 patch 2 - Redo block reflow below floats when the height of a block that does not intersect floats pushes it into the way of other floats. r=roc
This adds an additional retry loop in block reflow that we can only
trigger when reflowing a block formatting context (replacedBlock
non-null).  It can retry in two different ways, either with a narrower
width but at the same vertical position (when
ReplacedBlockFitsInAvailSpace is still true) or at a new vertical
position (which is treated as a form of clearance).

Fortunately we don't have to worry about margins collapsing *through*
such a boundary since we're dealing with a new block formatting context.

Note that Chromium passes all of the new bfc-displace-* tests, although
it moves the block formating context down unnecessarily in
bfc-shrink-1.html (which we do neither before nor after the patch),
though agrees with the width we have after the patch (but not before the
patch).

--HG--
extra : commitid : FgDc4hjTxHp
2015-08-02 21:03:09 -07:00

35 lines
549 B
HTML

<!DOCTYPE HTML>
<title>Test of block formatting context displacement by floats</title>
<style>
.contain {
border: medium solid;
width: 400px;
height: 400px;
background: yellow;
}
.float {
float: left;
clear: left;
height: 20px;
background: blue;
}
.bfc {
float: left;
width: 250px;
margin-top: 7px;
height: 13px; /* fits exactly */
background: fuchsia;
}
</style>
<div class="contain">
<div class="float" style="width: 100px"></div>
<div class="bfc"></div>
<div class="float" style="width: 200px"></div>
</div>