LibWeb: Account for containing block padding when placing abspos boxes

Unlike the other positioning schemes, absolute positioning is relative
to the *padding* edge of the containing block.
This commit is contained in:
Andreas Kling 2022-09-14 14:38:55 +02:00
parent d27136fcb0
commit 35a9a2fbb2
Notes: sideshowbarker 2024-07-17 07:10:32 +09:00

View File

@ -802,6 +802,9 @@ void FormattingContext::layout_absolutely_positioned_element(Box const& box)
used_offset.set_y(y_offset);
}
// NOTE: Absolutely positioned boxes are relative to the *padding edge* of the containing block.
used_offset.translate_by(-containing_block_state.padding_left, -containing_block_state.padding_top);
box_state.offset = used_offset;
if (independent_formatting_context)