About
System
A layout system is an algorithm which determine the size and position of boxes based on their relationships with their sibling and ancestor boxes:
In Css, a box may be laid out according to the following positioning schemes:
- Block and Inline Layout known also as:
- flow layout
- block formatting content
- System Layout (Table, Flex, Grid)
| Name | Designed for | Coordinates (according to) | Flow |
|---|---|---|---|
| Flow Layout (block-and-inline layout) | |||
| block layout | laying out block of text (section, paragraph, …) with regards to reading | box flow directions | Normal flow |
| inline layout | laying out text | box flow directions | Normal flow |
| positioned layout | explicit positioning without much regard for other elements in the document | Containing block | Out flow |
| System Layout | |||
| table layout | laying out 2D data in a tabular format | - | |
| flex layout | laying out container objects in a single axis | flex direction (horizontal/vertical) (single-axis placement) | - |
| grid | laying out container objects in two-dimensional axis | double-axis placement | |
- CSS - Float (box|property) (Layout) belongs to the block layout
- Boxes belong to only one formatting context (layout).
Flex vs Grid
Properties
Ultimately, there is only a subset of property that drives a layout system.
You can find them back in the browser devtool in the style section.

