浮动
特征:脱离标准普通流的控制移动到指定位置,浮动的盒子中间是没有空隙的,
浮动的盒子不再保留原先的位置。
多个盒子都设置了浮动,则他们会按照属性值一行内显示,并且顶端对齐排列。
行内元素或者是块元素添加了浮动,都会变成行内块元素。
块级盒子没有设置宽度,默认宽度和父极一样宽,但添加浮动后,它的大小 根据内容来决定。
为了约束浮动元素的位置:
先用标准流的父元素排列上下位置,之后内部子元素采用浮动排列左右位置。
浮动和标准流的父盒子搭配。
一个元素浮动了,理论上其余的兄弟元素也要浮动。
清除浮动
清除浮动的策略是闭合浮动,只让浮动在父盒子内影响,不影响父盒子外面的其他盒子。
由于父级盒子很多情况下不方便给高度,但是子盒子子浮动又不占有位置,最后父盒子高度为零时,就会影响下面的标准流盒子。
清除浮动的本质就是清除浮动元素造成的影响。如果父盒子本身是有高度的,则是不需要清除浮动的。clear:left/right/both
清除浮动的4种方法:额外标签法也称为隔墙法。父级添加overflow属性。父级添加after伪元素。父级添加双伪元素。
1、额外标签法也称为隔墙法。
在所有盒子的末尾。加一个块级标签(空盒子),样式调用clear。
2,父级添加overflow属性。
overflow:hidden/auto/scroll
父级添加after伪元素。父级添加双伪元素。