float属性设置,就是让需要设置浮动的元素,跟在指定元素后面。
多看看盒子模型
clear 属性设置一个元素的侧面是否允许其他的浮动元素。
left 在左侧不允许浮动元素
right 在右侧不允许浮动元素
both 在左右两侧均不允许浮动元素
none 默认。允许浮动元素出现在两侧。
比方你有3个div想显示为一横行
就要使用float
但是你第四个div想显示在第二行
就要使用clear
清除浮动
清除浮动并不是清理自身的浮动效果,而是清除上面接触到浮动元素的浮动,使浮动元素后面的元素不再接受他们的浮动,按正常的元素硫进行布局
1、使用场景:
改变元素的排列方式的时候会用到浮动
浮动的元素会脱离文档流,正常的文档流视其而不见
浮动元素的停止:找到父元素的边框停止
浮动元素的卡顿:元素高度大于其他元素;
2、浮动引发的BUG:
1、父元素不设置高度,所有子元素都浮动
2、浮动的子元素撑不开父元素的高度
3、解决办法:
1、给父元素添加overflow: hidden
2、给父元素添加最后一个子元素 clear:both 清除浮动
3、能设置高度的元素都设置高度
4、伪类元素清除