css浮动

1、浮动

1、标准流(文档流):元素按部就班按照自身的特性排列

2、浮动定义:元素会脱离标准普通流的控制,移动到指定位置的过程

3、使用:

(1)     左浮动:float:left

(2)     右浮动:float:right

4、结论

(1)     浮动后的元素会脱离标准流,漂浮在其他没有浮动的盒子上边

(2)     浮动后的两个块状元素会在同一行显示

(3)     浮动后的元素不占有原来的位置

(4)     浮动后的元素不会超出父元素的范围

(5)     浮动后的元素自动的转化为行内块元素,浮动后的元素不超过父元素的内边距

2、清除浮动

1、定义:清除浮动:并不是清除浮动,而是清除浮动所带来的影响

2、为什么要清除浮动?

①    浮动后的元素不会撑开的父元素的高度,因为浮动是不占位置的

②    与浮动元素同级的非浮动元素会跟随其后

③    若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构

3、如何清除浮动?

①    额外标签法:在浮动元素的后边加上标签

1)        <div style="clear: left;"></div>    

2)        清除左浮动 clear: left

3)        清除右浮动 clear: right

4)        清除左右浮动 clear: both  

5)        优点:通俗易懂,书写方便

6)        缺点:添加了额外的标签,结构化差

②    overflow属性:在父元素中添加

1)        overflow: hidden; 

2)        overflow: scroll; 

3)         overflow: auto; 

4)        优点:但是代码简洁 

5)        缺点:   盒子中多余的内容会被隐藏掉 

③    使用after伪元素清除浮动:给父元素添加

1)        .clearfix::after { content: ‘ ‘; display: block; clear: both; } 

2)        优点:符合闭合浮动思想 结构语义化正确

3)        缺点:IE6-7不支持:after

④    双伪元素清除浮动:给父元素添加after以及before伪元素

1)        .clearfix::after, .clearfix::before {  content: ‘‘;display: table;clear: both; }

2)         优点:代码简洁

3)        缺点:IE6-7不支持:after

css

相关推荐