https://browser.engineering/layout.html Laying Out Pages Chapter 5 of Web Browser Engineering. < * The layout tree * Layout modes * Size and position * Using tree-based layout * Backgrounds * Summary * Exercises So far, layout has been a linear process that handles open tags and and close tags independently. But web pages are trees, and look like them: borders and backgrounds visually nest inside one another. To support that, this chapter switches to tree-based layout, where the tree of elements is transformed into a tree of layout objects for the visual elements of the page. In the process, we'll make our web pages more colorful with backgrounds. * The layout tree * Layout modes * Size and position * Using tree-based layout * Backgrounds * Summary * Exercises The layout tree Right now, our browser lays out an element's open and close tags separately. Both tags modify global state, like the cursor_x and cursor_y variables, but they aren't otherwise connected, and information about the element as a whole, like its width and height, is never computed. That makes it pretty hard to draw a background color behind text. So web browsers structure layout differently. In a browser, layout is about producing a layout tree, whose nodes are layout objects, each associated with an HTML element,Elements like