In HTML5, document flow is also called "ordinary flow", which refers to the flow arrangement of elements from left to right and top to bottom by default during the element layout process; and the final form Divide the rows into rows from top to bottom, and arrange the elements in each row from left to right. Methods to break away from the document flow: 1. Float; 2. Position positioning.
The operating environment of this tutorial: windows7 system, HTML5 version, DELL G3 computer
1. What is document flow ?
"Flow", we often hear this word in our lives, such as water flow and current. Just like water flowing from high to low, we can think of document flow as HTML elements "flowing" on the browser. The top of the browser is the source of the river, and the bottom of the browser is the end of the river.
The so-called document flow (normal flow, also known as "normal flow") refers to the process of element typesetting and layout. Elements will automatically follow this pattern from left to right and top to bottom. Streaming arrangement.
When the browser renders the HTML document, it starts rendering from the top and allocates the required space to the elements. Each block-level element occupies a separate line. Inline elements are rendered horizontally in order until they are encountered in the current line. When it reaches the boundary, it then switches to the starting point of the next line and continues rendering. So at this time we have to talk about block-level elements and inline elements.
2. Block-level elements and inline elements
Block-level elements: As the name suggests, this element is "a block", so as a block, It should have its own width and height. And it is more overbearing. Each block-level element occupies one row of height by default. After adding a block-level element to a row, other elements cannot be added (except after float). It is generally used as a container. Common block-level elements are: from, select, textarea, h1-h6, table, button, hr, p, ol, ul, etc.
Combined with the above content, block-level elements have the following characteristics:
Each block-level element occupies its own line.
The height, width, line height and margin of the element can be set.
If the width of the element is not set, it defaults to the width of the parent element.
Inline elements: Obviously, this element exists within a line and can share a line with other inline elements. Common inline elements include: span, input, a, em, strong, b, br, img, select, button, etc.
Then the characteristics of inline elements are as follows:
Each inline element can share a line with other inline elements, and adjacent inline elements will be arranged in the same line , until there is no more space left in the row, the line will be changed.
Setting width and height for inline elements is invalid (there are pitfalls here, please read below), and the width changes with the content of the element.
Padding-left and padding-right in the horizontal direction within the line will produce margin effects, but padding-top and padding-bottom in the vertical direction will not produce margin effects.
##3. Replacement elements and non-replacement elements
Everyone who is careful must have discovered, like , ,The above is the detailed content of What does html5 document flow mean?. For more information, please follow other related articles on the PHP Chinese website!