mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 19:37:35 +00:00
LibWeb: When collapsing margins, consider border box heights
Empty boxes should be fully collapsed, but a box with border and/or padding is not empty. This fixes an issue where <hr> elements were getting weirdly collapsed since they have zero content height (but some border height.)
This commit is contained in:
parent
5116b94114
commit
bf3772362a
2 changed files with 7 additions and 1 deletions
|
@ -548,7 +548,7 @@ void BlockFormattingContext::place_block_level_non_replaced_element_in_normal_fl
|
||||||
while (relevant_sibling != nullptr) {
|
while (relevant_sibling != nullptr) {
|
||||||
if (!relevant_sibling->is_absolutely_positioned() && !relevant_sibling->is_floating()) {
|
if (!relevant_sibling->is_absolutely_positioned() && !relevant_sibling->is_floating()) {
|
||||||
collapsed_bottom_margin_of_preceding_siblings = max(collapsed_bottom_margin_of_preceding_siblings, relevant_sibling->box_model().margin.bottom);
|
collapsed_bottom_margin_of_preceding_siblings = max(collapsed_bottom_margin_of_preceding_siblings, relevant_sibling->box_model().margin.bottom);
|
||||||
if (relevant_sibling->height() > 0)
|
if (relevant_sibling->border_box_height() > 0)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
relevant_sibling = relevant_sibling->previous_sibling();
|
relevant_sibling = relevant_sibling->previous_sibling();
|
||||||
|
|
|
@ -58,6 +58,12 @@ public:
|
||||||
return width() + border_box.left + border_box.right;
|
return width() + border_box.left + border_box.right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float border_box_height() const
|
||||||
|
{
|
||||||
|
auto border_box = box_model().border_box();
|
||||||
|
return height() + border_box.top + border_box.bottom;
|
||||||
|
}
|
||||||
|
|
||||||
Gfx::FloatRect content_box_as_relative_rect() const
|
Gfx::FloatRect content_box_as_relative_rect() const
|
||||||
{
|
{
|
||||||
return { m_offset, m_size };
|
return { m_offset, m_size };
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue