css浮动中避免包含元素高度为0的4种解决方法
问题:当子元素中使用了float时,如果其父元素不指定高度,其高度将为0
解决:清除(闭合)浮动元素,使其父div高度自适应
方法一:额外标签+clear:both (W3C推荐方法,兼容性较好)
在父div的最后插入一个无语义的额外标签,使其style为clear:both。
如:<div style=”clear:both;”></div>
或:<br style=”clear:both;”/>
方法二:使用after伪类 (兼容性一般)
使用伪类在父div的末尾添加新的内容(如一个点),来清除浮动。
如:#父div:after{conten:”.”;height=0;visibility:hidden;display:block;clear:both;}
方法三:overflow:hidden|auto (可能会有负面影响,使用时多测试)
设置父div的overflow为hidden或auto。
方法四:浮动父div (IE/win、标准浏览器中较好,不推荐)
让父div也浮动,因为浮动元素会闭合浮动元素。