mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 20:57:35 +00:00
LibWeb: Try to compute height for abspos elements before inside layout
This can resolve height early in some cases, notably this kind of setup: position: absolute; top: 0px; bottom: 0px; By resolving height before inside layout, descendants of the abspos element can resolve automatic and relative vertical lengths against it. This makes the Discord UI occupy the whole window instead of looking "shrink-to-fit".
This commit is contained in:
parent
5e996b461c
commit
8a87f4fa20
1 changed files with 6 additions and 0 deletions
|
@ -936,6 +936,12 @@ void FormattingContext::layout_absolutely_positioned_element(Box const& box, Ava
|
|||
auto specified_width = box.computed_values().width().resolved(box, width_of_containing_block_as_length).resolved(box);
|
||||
|
||||
compute_width_for_absolutely_positioned_element(box, available_space);
|
||||
|
||||
// NOTE: We compute height before *and* after doing inside layout.
|
||||
// This is done so that inside layout can resolve percentage heights.
|
||||
// In a situation like
|
||||
compute_height_for_absolutely_positioned_element(box, available_space);
|
||||
|
||||
auto independent_formatting_context = layout_inside(box, LayoutMode::Normal, box_state.available_inner_space_or_constraints_from(available_space));
|
||||
compute_height_for_absolutely_positioned_element(box, available_space);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue