定义
属性名:float,漂流、浮动的意思。
属性值:
left 左浮动
right 右浮动
作用:让元素脱离标准流,同一级的浮动的元素可以并排在一排显示。
浮动的元素脱离标准流
标准文档流特点:区分行块。
块级元素:可以设置宽高,必须独占一行。
行内元素:不能设置宽高,可以并排一行。
浮动的元素脱离了标准流的限制,具备行块二象性,浮动的元素可以设置宽高,还可以并排一行,而且不会有空白折叠现象,如果浮动的元素不设置宽高,会被内容自动撑开
浮动的元素依次贴边
浮动方向设置不同,进行布局时,加载位置方向不同。
右浮动与左浮动贴边效果是一致的,只是贴边方向不同。按照 HTML 书写顺序依次向右向上一个元素贴边,第一个元素贴父元素的右边以 left 为例:
父元素宽度足够,所有子元素会按照HTML书写顺序,依次向左进行贴边,父元素左边←子元素1←子元素2← 子元素3←子元素4。
父元素宽度如果不够,例如不能放下一个子元素4,那么子元素4在贴边时,会跳过上一个子元素3,向更上一个子元素2进行贴边,如果子元素2后面位置不够,继续跳过子元素2向前面的子元素1进行贴边。




<ul>
内部嵌套的 <li>
标签全部浮动,宽高设置相同,边框可以利用标签之间的间距和背景颜色的差异进行制作。
ul li {
float: left;
width: 100px;
height: 30px;
margin: 0 2px 2px 0;
background‐color: skyblue;
line‐height: 30px;
text‐align: center;
}
注意:同一个盒子中,可以有左浮动和右浮动的子盒子并存,子盒子会根据浮动方向,向上一个同方向的子盒子进行贴边,如果空间不够,也会发生之前依次贴边的各种情况。
浮动的元素没有margin塌陷
margin 塌陷现象出现在标准流中的,浮动元素已经脱离标准流,
不再具有 margin 塌陷现象浮动的元素让出标准流位置
元素浮动之后,脱离了标准流,会将原来占有的标准流位置
让给后面的一个同级元素
显示效果:浮动的盒子飘浮起来压盖住了后面的同级的元素
在 IE6 、 7浏览器中,有兼容问题:
由于浏览器中有兼容性问题,不会使用这种属性制作压盖效果,
真正的压盖效果使用后期学习的定位制作。
如果没有特殊需求,不允许一个父元素中的子元素有的浮动有的不浮动
同级元素中有一个浮动其他的也要浮动。