Open FremyCompany opened 6 years ago
cc @dbaron / @dholbert / @matspalmgren
We discovered this too for our current block layout work. cc/ @mstensho
We think[*] that our current block layout engine does a two pass thing which is first layout in the top-most area. Then if it doesn't fit, layout in the next area which has it's block-size unbounded.
[*] Our currently impl has hysteresis which makes this harder to determine, but happy to be wrong :D
The Working Group just discussed Complex float shapes and bfc sizing
.
The Working Group just discussed Complex float shapes and bfc sizing
, and agreed to the following resolutions:
RESOLVED: The working group preference is to specify BFC float avoidance behavior to match the guidelines of what is spec in 2.1 for inline layout float avoidance behavior
RESOLVED: Start a CSS 3 Floats Module with dbaron and fremy as co-editors
@dbaron @FremyCompany Is CSS 3 Floats still under consideration?
Synopsis:
When an element forming a block formatting context (eg
<div overflow:hidden>
) is sized next to floats, Edge only takes into account the available width at the location where the block is inserted. If its height makes it so that it intersects with a later float that is wider than the one it was sized against, the block cannot fit and is pushed after that wider float (left behavior).Chrome and Firefox will restart the layout with a smaller width as many times as necessary* to make it avoid all floats, even if those floats come up only later in the flow (right behavior).
Chrome and Firefox however disagree on the placement of resulting element:
Chrome and Firefox also have different limits on how many times it is okay to restart (*):
Call to action:
We would like to resolve on a precise algorithm here, and get everyone onboard to implement that algorithm. It would be nice if other browser vendors could take a look at how this works in their browser, and whether they are aware of any problem with their current implementation.
About the same issue: