mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 03:57:44 +00:00
LibWeb: Place block-level boxes vertically before formatting them inside
Block placement is now divided into a vertical and horizontal step. The vertical step runs before formatting boxes internally. The horizontal step still runs after (since we may need the final width value.) This solves a long-standing architectural problem where IFC didn't know its origin Y position within the BFC root box. This is required for figuring out how to flow around floating objects. (Floating objects are always relative to the BFC root.)
This commit is contained in:
parent
bb6af641d4
commit
54beb7433e
2 changed files with 24 additions and 12 deletions
|
@ -50,7 +50,8 @@ private:
|
|||
void layout_inline_children(BlockContainer&, LayoutMode);
|
||||
|
||||
void compute_vertical_box_model_metrics(Box& child_box, BlockContainer const& containing_block);
|
||||
void place_block_level_element_in_normal_flow(Box& child_box, BlockContainer const&);
|
||||
void place_block_level_element_in_normal_flow_horizontally(Box& child_box, BlockContainer const&);
|
||||
void place_block_level_element_in_normal_flow_vertically(Box& child_box, BlockContainer const&);
|
||||
|
||||
void layout_floating_child(Box& child, BlockContainer const& containing_block);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue