一、元素浮动后的特点
1、脱离文档流
2、不管浮动前是什么元素,浮动后:默认宽和高都是被内容撑开,而且可以设置宽高
3、不会独占一行,可以与其它元素共用一行
4、不会margin合并,也不会margin塌陷,能够完美地设置四个方向的margin和padding
5、不会像行内块一样被当做文本处理(没有行内块的空白问题)。
二、浮动后会有哪些影响
对兄弟元素的影响:后面的兄弟元素,会占据浮动元素之前的位置,在浮动元素的下面;对前面的兄弟无影响
对父元素的影响:不能撑起父元素的高度,导致父元素高度塌陷;但父元素的宽度依然束缚浮动的元素。
三、解决浮动产生的影响(清除浮动)
1、方案一:给父元素指定高度
2、方案二:给父元素也设置浮动,带来其它影响。
3、方案三:给父元素设置overflow:hidden
4、方案四:在所有浮动元素的最后面,添加一个块级元素,并给该块级元素设置clear:both
5、方案五:给浮动元素的父元素,设置伪元素,通过伪元素清楚浮动,原理与方案4相同(推荐使用)
css
.parent::after {
contnet: "";
display: block;
clear: both;
}
布局中的一个原则:设置浮动的时候,兄弟元素要么全都浮动,要么全都不浮动。