1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 02:27:43 +00:00

LibWeb: Account for box-sizing:border-box in layout-less definite sizes

When we determine that a size is definite because it can be resolved now
without performing layout, we also need to account for the box-sizing
property.

This lets us remove a hack from flex layout where box-sizing:border-box
was manually undone at one point in the layout algorithm.
This commit is contained in:
Andreas Kling 2023-05-02 06:51:32 +02:00
parent deea7cbc11
commit 00e3e82bbd
4 changed files with 53 additions and 13 deletions

View file

@ -0,0 +1,11 @@
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <html> at (0,0) content-size 800x66 children: not-inline
BlockContainer <body> at (8,8) content-size 784x50 children: inline
line 0 width: 89.726562, height: 50, bottom: 50, baseline: 16.914062
frag 0 from Box start: 0, length: 0, rect: [28,38 49.726562x0]
Box <div.button> at (28,38) content-size 49.726562x0 flex-container(row) children: not-inline
BlockContainer <(anonymous)> at (28,27.082031) content-size 49.726562x21.835937 flex-item children: inline
line 0 width: 49.726562, height: 21.835937, bottom: 21.835937, baseline: 16.914062
frag 0 from TextNode start: 0, length: 5, rect: [28,27.082031 49.726562x21.835937]
"Hello"
TextNode <#text>

View file

@ -0,0 +1,14 @@
<!doctype html><html><head><style>
* {
font: 20px SerenitySans;
}
.button {
align-items: center;
background-color: orange;
display: inline-flex;
height: 30px;
padding: 20px;
font-size: 20px;
box-sizing: border-box;
}
</style></head><body><div class="button">Hello