优点一、为什么需要清除浮动?
父盒子没有给高度、子盒子浮动了、影响下面的布局了,这时候需要清除浮动;如果不影响下面的布局,是可以不清除浮动的。
二、清除浮动的方法:
清除浮动的策略:闭合浮动,意思是把浮动的元素都关在父元素里面,不允许其对外部元素造成影响。
1、额外标签法
做法:在最后一个浮动元素的后面,添加一个标签,作为一堵墙,给堵上。
具体做法如下:
注意:加的这堵墙,必须是块级元素或者是<br>也行。如果用行内元素,不起作用。
2、给父盒子添加overflow属性,overflow:hidden 就可以了
优点:代码简洁;缺点:无法显示溢出的部分
3、给父元素添加:after伪元素
伪元素默认是行内元素,所以必须要用display:block转成块元素才行。
核心语句:clear:both
优点:利用伪元素,自动给父盒子最后一个子元素后面添加一个div,但实际结构里,没有这个div,减少了冗余的代码,消除无意义的标签,结构更清晰。
三、清除浮动的本质
清除浮动的本质,是清除浮动造成的影响。
如果父盒子有高度,则不需要清除浮动。
清除浮动后,父
当父盒子未设置高度,子盒子全部浮动,这时候父盒子的高度就是0,父盒子下面的盒子,就会受到影响,会跑到子盒子下方,被子盒子盖住。