summaryrefslogtreecommitdiff
path: root/Docs
diff options
context:
space:
mode:
authorJames Bursa <james@netsurf-browser.org>2006-11-04 19:17:11 +0000
committerJames Bursa <james@netsurf-browser.org>2006-11-04 19:17:11 +0000
commitb6c8e435cd206b0acac3368098254decfbdb5f74 (patch)
tree182317b7107238be4bcd77db7eb25e07b645589b /Docs
parenta1f291383f719852dd11efa3877599c7dae5f95b (diff)
downloadnetsurf-b6c8e435cd206b0acac3368098254decfbdb5f74.tar.gz
netsurf-b6c8e435cd206b0acac3368098254decfbdb5f74.tar.bz2
Implement absolute positioned inlines.
svn path=/trunk/netsurf/; revision=3026
Diffstat (limited to 'Docs')
-rw-r--r--Docs/02-layout16
1 files changed, 16 insertions, 0 deletions
diff --git a/Docs/02-layout b/Docs/02-layout
index ddc7cfd06..36f856fc0 100644
--- a/Docs/02-layout
+++ b/Docs/02-layout
@@ -29,3 +29,19 @@ to a new width. Coordinates in the box tree are relative to the position of the
parent node.
The box tree can then be rendered using each node's coordinates.
+
+Absolute positioning
+--------------------
+Absolutely positioned boxes are constructed in the box tree in the same place as
+if they were not absolutely positioned. Inline boxes are created as
+INLINE_BLOCK, tables as TABLE, and other boxes as BLOCK (see
+box_solve_display()).
+
+During layout, absolutely positioned boxes in block context (BLOCK or TABLE) are
+given a position in layout_block_context(), but treated as having no height. In
+inline context (INLINE_BLOCK), they are given a position in layout_line(), but
+treated as having no width or height. This is done to determine the static
+position.
+
+An additional pass after main layout positions and layouts all absolutely
+positioned boxes (see layout_position_absolute()).