为什么需要清除浮动?
(1)父元素的高度无法被撑开,影响与父元素同级的元素;
(2)与浮动元素同级的非浮动元素(内联元素)会跟随其后;
(3)若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构解决方法
清除浮动的方式:
(1)使用CSS中的clear:both;(放一个空的div,并设置上述css),属性来清除元素的浮动可解决2、3问题
(2)对于问题1,添加如下样式,给父元素添加clearfix样式:.clearfix:after{content: ".";display: block;height: 0;clear: both;visibility: hidden;}.clearfix{display: inline-block;} /* for IE/Mac */
(3)给父级元素设置双伪元素;
(4)给父级元素设置overflow:hidden;或overflow:auto;本质是构建一个BFC。