Because a block formatting context is being created that can be read about here or here.
Here it is listed that it creates:
9.4.1 Block formatting contexts
Floats , absolutely positioned elements, block containers (such as inline-blocks , table-cells , and table-captions ) to the viewport)
A block formatting context can be created by:
- root element or something that contains it
- floats (items whose float is not equal to none)
- absolutely positioned elements (elements whose position value is either absolute or fixed )
- inline-blocks (elements with display: inline-block)
- table cells (elements with display: table-cell, set by default for table cells)
- table headers (elements with display: table-caption set by default for table headers)
- elements for which the value of the overflow property differs from visible
- flex blocks (elements with display: flex or inline-flex)
Look further specification .
Specifically, the line describes the behavior of such an element if it contains a floating element:
10.6.7 'Auto' heights for block formatting context roots
In addition, the bottom is the bottom of the bottom line . Formatting context are taken into account, for example, floats are not included.
If such an element contains floating descendants whose height is greater than the parent, then the parent will increase to wrap them. Therefore, wipe cleaning is not needed.