If the block has overflow: hidden , it rises next to the float, and is not covered by it. Why is that? And how does overflow interact with block allocation?
section { margin: 1em 0; border: 4px solid burlywood; } section:after { content: ''; display: block; clear: both; } aside { float: left; width: 5em; background: rgba(160, 160, 160, .5); border: 4px dotted red; } div { border: 4px solid blue; } <section> <aside>Float</aside> <div style="overflow: hidden">2</div> </section> <section> <aside>Float</aside> <div style="overflow: visible">2</div> </section>