浮动元素引起的问题和解决办法?



浮动元素引起的问题:
1. 父元素的高度无法被撑开,影响与父元素同级的元素
2. 与浮动元素同级的非浮动元素会跟随其后
3. 若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构

解决方法:
使用 CSS 中的 clear:both; 属性来清除元素的浮动可解决2、3问题,对于问题1,添加如下样式,给父元素添加clearfix样式:
1
2
.clearfix:after{ content : "." ; display : block ; height : 0 ; clear : both ; visibility : hidden ;}
.clearfix{ display : inline- block ;} /* for IE/Mac */

清除浮动的几种方法:
1. 额外标签法,
(缺点:不过这个办法会增加额外的标签使HTML结构看起来不够简洁。)
2. 使用after伪类
1
2
3
4
5
6
7
#parent:after{
    content : "." ;
    height : 0 ;
    visibility : hidden ;
    display : block ;
    clear : both ;
}
3. 浮动外部元素
4. 设置 overflow 为 hidden 或者 auto

你可能感兴趣的:(浮动元素引起的问题和解决办法?)