1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 23:37:36 +00:00

LibWeb: Handle overlapping floating box and left margin

Allow the left margin of a box which creates a block formatting context
to overlap with left floating boxes which are siblings in the document
tree.

Fixes #20233 and the comment layout on https://lobste.rs.
This commit is contained in:
Andi Gallo 2023-07-05 03:39:28 +00:00 committed by Andreas Kling
parent 34c702e6e8
commit 6a17a30e2e
6 changed files with 100 additions and 2 deletions

View file

@ -8,12 +8,16 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <div.ab> at (108,8) content-size 684x17.46875 children: not-inline
BlockContainer <(anonymous)> at (108,8) content-size 684x0 children: inline
TextNode <#text>
BlockContainer <div> at (108,8) content-size 684x0 children: inline
TextNode <#text>
BlockContainer <div.a> at (108,8) content-size 14.265625x17.46875 floating [BFC] children: inline
line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 1, rect: [108,8 14.265625x17.46875]
"A"
TextNode <#text>
TextNode <#text>
BlockContainer <(anonymous)> at (108,8) content-size 684x0 children: inline
TextNode <#text>
BlockContainer <div.b> at (122.265625,8) content-size 669.734375x17.46875 [BFC] children: inline
line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 1, rect: [122.265625,8 9.34375x17.46875]

View file

@ -0,0 +1,47 @@
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
BlockContainer <body> at (8,8) content-size 784x34.9375 children: not-inline
BlockContainer <div> at (8,8) content-size 784x34.9375 children: not-inline
BlockContainer <(anonymous)> at (8,8) content-size 784x0 children: inline
TextNode <#text>
BlockContainer <div> at (8,8) content-size 784x0 children: inline
TextNode <#text>
BlockContainer <div.a> at (8,8) content-size 57.0625x34.9375 floating [BFC] children: not-inline
BlockContainer <(anonymous)> at (8,8) content-size 57.0625x0 children: inline
TextNode <#text>
BlockContainer <div.a4> at (8,8) content-size 57.0625x17.46875 children: inline
line 0 width: 57.0625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 4, rect: [8,8 57.0625x17.46875]
"AAAA"
TextNode <#text>
BlockContainer <(anonymous)> at (8,25.46875) content-size 57.0625x0 children: inline
TextNode <#text>
BlockContainer <div> at (8,25.46875) content-size 57.0625x17.46875 children: inline
line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 1, rect: [8,25.46875 14.265625x17.46875]
"A"
TextNode <#text>
BlockContainer <(anonymous)> at (8,42.9375) content-size 57.0625x0 children: inline
TextNode <#text>
TextNode <#text>
BlockContainer <(anonymous)> at (8,8) content-size 784x0 children: inline
TextNode <#text>
BlockContainer <div> at (108,8) content-size 684x34.9375 children: not-inline
BlockContainer <(anonymous)> at (108,8) content-size 684x0 children: inline
TextNode <#text>
BlockContainer <div> at (108,8) content-size 684x17.46875 children: inline
line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 1, rect: [108,8 9.34375x17.46875]
"B"
TextNode <#text>
BlockContainer <(anonymous)> at (108,25.46875) content-size 684x0 children: inline
TextNode <#text>
BlockContainer <div.c> at (108,25.46875) content-size 684x17.46875 [BFC] children: inline
line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 1, rect: [108,25.46875 10.3125x17.46875]
"C"
TextNode <#text>
BlockContainer <(anonymous)> at (108,42.9375) content-size 684x0 children: inline
TextNode <#text>
BlockContainer <(anonymous)> at (8,42.9375) content-size 784x0 children: inline
TextNode <#text>