The previous words
FloatingThe earliest use comes from right ">, used for typesetting processing of text surrounding pictures. Nowadays, floating is a commonly used layout method in CSS. This article will introduce and sort out the floating content in detail.
float float
The floating element is separated from the ordinary flow, and then as specified Direction, move left or right, stop when hitting the parent boundary or another floating element
Value: left | right | none | inherit
Initial value: none
Apply to: all elements
Inheritance: None
[Note] If you float a non-replacement element, you must declare a width for the element, otherwise, according to CSS specification, the width of elements tends to 0
[1] Floating flow
Elements in normal flow are arranged one after another; floating elements also constitute a floating flow
【2】Block-level box
The floating element itself will generate a block-level box, regardless of what the element itself is, so that the margins around the floating element will not be merged
[3] Wrapping
The containing block of a floating element refers to its nearest block-level ancestor element, and descendant floating elements should not exceed the top, left, and right boundaries of the containing block. If the height of the containing block is not set, and the containing block floats, the containing block will extend to include all its descendant floating elements; if the width of the containing block is not set, and the containing block floats, the width of the containing block will be stretched by the descending floating elements.
【4】Destructive
The floating element breaks away from the normal flow and destroys its own line boxAttribute, causing the height of the containing block element to collapse, causing the floating box to collapse The line box next to it is shortened to make room for the floating box, and the line box is rearranged around the floating box
[1] The left (or right) outer boundary of the floating element must be The right (left) outer bounds of the previous left-floated (or right-floated) element in the source document. Unless the top of the floated element that appears later is below the bottom of the floated element that appears first
[2] The right outer border of the left-floated element will not be to the right of the left outer border of the right-floated element to its right. The left outer border of a right-floated element will not be to the left of the right outer border of any left-floated element to its left
[3] If there is another floating element to the left (right) of a left (or right) floating element, the former The right outer boundary cannot be to the right (left) of the right (left) boundary of its containing block
[4] The left (or right) outer boundary of a floating element cannot exceed the left (or right) inner boundary of its containing block
[5]The top of a floating element cannot be higher than the inner top of its parent element. If a floated element is between two merged margins, place the floated element as if there were a block-level parent element between the two elements
[6] The top of the floated element cannot be higher than all previous floats The top of an element or block-level element is higher
[7] If a floated element appears before another element in the source document, the top of the floated element cannot be higher than the top of any line box containing the box generated by the element. High
[8] Floated elements must be placed as high as possible
[9] Left-floated elements must be as far to the left as possible, and right-floated elements must be as far to the right as possible. The higher the position, the farther it will float to the right or left
There are two ways for a floating element to exceed the boundary of the parent element: one is that the width of the floating element is greater than the parent element The other way is to set negative margins. If a floating element has negative margins and the floating element overlaps a normal flow element
[1]When an inline box overlaps a floating element, its border, background, and content are all displayed on top of the floating element
【2】When the block box overlaps a floating element, its border and background are displayed under the floating element, and the content is displayed above the floating element
[Related recommendations]
1. Free css online video tutorial
3. php.cnDugujiujian( 2)-css video tutorial
The above is the detailed content of Little things you don't know about CSS floating. For more information, please follow other related articles on the PHP Chinese website!