mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
Fix positioning of statically positioned fixed child of absolutes
This commit is contained in:
parent
d3bb2170b8
commit
63a6b73f9a
6 changed files with 37 additions and 6 deletions
|
@ -626,8 +626,19 @@ impl HoistedAbsolutelyPositionedBox {
|
|||
)
|
||||
};
|
||||
positioning_context.layout_collected_children(layout_context, &mut new_fragment);
|
||||
|
||||
// Any hoisted boxes that remain in this positioning context are going to be hoisted
|
||||
// up above this absolutely positioned box. These will necessarily be fixed position
|
||||
// elements, because absolutely positioned elements form containing blocks for all
|
||||
// other elements. If any of them have a static start position though, we need to
|
||||
// adjust it to account for the start corner of this absolute.
|
||||
positioning_context.adjust_static_position_of_hoisted_fragments_with_offset(
|
||||
&new_fragment.content_rect.start_corner,
|
||||
);
|
||||
|
||||
for_nearest_containing_block_for_all_descendants
|
||||
.extend(positioning_context.for_nearest_containing_block_for_all_descendants);
|
||||
|
||||
new_fragment
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue