diff --git a/Libraries/LibWeb/Layout/BlockFormattingContext.cpp b/Libraries/LibWeb/Layout/BlockFormattingContext.cpp index d6063ffbc0d..3f340c5a810 100644 --- a/Libraries/LibWeb/Layout/BlockFormattingContext.cpp +++ b/Libraries/LibWeb/Layout/BlockFormattingContext.cpp @@ -817,9 +817,7 @@ void BlockFormattingContext::layout_block_level_box(Box const& box, BlockContain if (!m_margin_state.box_last_in_flow_child_margin_bottom_collapsed) { m_margin_state.reset(); } - auto box_height = box_state.offset.y() + box_state.content_height() + box_state.border_box_bottom(); - if (!m_y_offset_of_current_block_container.has_value() || box_height > m_y_offset_of_current_block_container.value()) - m_y_offset_of_current_block_container = box_height; + m_y_offset_of_current_block_container = box_state.offset.y() + box_state.content_height() + box_state.border_box_bottom(); } m_margin_state.box_last_in_flow_child_margin_bottom_collapsed = false; diff --git a/Tests/LibWeb/Layout/expected/block-and-inline/negative-margin-with-padding.txt b/Tests/LibWeb/Layout/expected/block-and-inline/negative-margin-with-padding.txt new file mode 100644 index 00000000000..5387fbf4f93 --- /dev/null +++ b/Tests/LibWeb/Layout/expected/block-and-inline/negative-margin-with-padding.txt @@ -0,0 +1,24 @@ +Viewport <#document> at (0,0) content-size 800x600 children: not-inline + BlockContainer at (0,0) content-size 800x56 [BFC] children: not-inline + BlockContainer
at (18,18) content-size 764x20 children: not-inline + BlockContainer