Expand description
Float layout.
See CSS 2.1 § 9.5.1: https://www.w3.org/TR/CSS2/visuren.html#float-position
Structs§
- Containing
Block Position Info FloatContext
positions floats relative to the independent block formatting context which contains the floating elements. The Fragment tree positions elements relative to their containing blocks. This data structure is used to help map between these two coordinate systems.- Float
Band - Internal data structure that describes a nonoverlapping vertical region in which floats may be placed.
Floats must go between “inline-start edge +
inline_start
” and “inline-end edge -inline_end
”. - Float
Band Link - A single edge (or lack thereof) in the float band tree.
- Float
Band Node - A single node in the float band tree.
- Float
Band Tree - A persistent AA tree for float band storage.
- Float
Box 🔒 - A floating box.
- Float
Context - Data kept during layout about the floats in a given block formatting context.
- Placement
Among 🔒Floats - This data strucure is used to try to place non-floating content among float content. This is used primarily to place replaced content and independent formatting contexts next to floats, as the specifcation dictates.
- Placement
Info - Information needed to place a float so that it doesn’t collide with existing floats.
- Sequential
Layout 🔒State - Layout state that we maintain when doing sequential traversals of the box tree in document order.