about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/css/layout.nim7
-rw-r--r--test/layout/padding-counted-for-intrinisc-min-width.color.expected2
-rw-r--r--test/layout/padding-counted-for-intrinisc-min-width.html3
3 files changed, 8 insertions, 4 deletions
diff --git a/src/css/layout.nim b/src/css/layout.nim
index 82f5b248..2316c23c 100644
--- a/src/css/layout.nim
+++ b/src/css/layout.nim
@@ -1258,10 +1258,9 @@ proc applyHeight(box: BlockBox; sizes: ResolvedSizes;
   box.applySize(sizes, maxChildHeight, sizes.space, dtVertical)
 
 proc applyPadding(box: BlockBox; padding: RelativeRect) =
-  box.state.size.w += padding[dtHorizontal].sum()
-  let verticalSum = padding[dtVertical].sum()
-  box.state.size.h += verticalSum
-  box.state.intr.h += verticalSum
+  let sum = padding.sum()
+  box.state.size += sum
+  box.state.intr += sum
 
 proc applyBaseline(box: BlockBox) =
   if box.children.len > 0:
diff --git a/test/layout/padding-counted-for-intrinisc-min-width.color.expected b/test/layout/padding-counted-for-intrinisc-min-width.color.expected
new file mode 100644
index 00000000..7252c405
--- /dev/null
+++ b/test/layout/padding-counted-for-intrinisc-min-width.color.expected
@@ -0,0 +1,2 @@
+ a  test
+
diff --git a/test/layout/padding-counted-for-intrinisc-min-width.html b/test/layout/padding-counted-for-intrinisc-min-width.html
new file mode 100644
index 00000000..95605842
--- /dev/null
+++ b/test/layout/padding-counted-for-intrinisc-min-width.html
@@ -0,0 +1,3 @@
+<table style="padding: 0; width: 5ch">
+<td><div style="padding: 0 1ch; background: red">a</div></td>
+<td>test</td>