上面说过了,如果想让几个盒子横向无缝排列就需要使用浮动。那么

什么是浮动float属性?

image.png
简单来说就是设置了浮动的单元快,会自动找相邻的浮动框或者当前所在父亲块的边缘贴贴,然后根据left还是right决定往左还是往右去找人贴贴。
如果没有设置父亲块,则会直接贴到浏览器边缘。

浮动的特性(重要)

加了浮动之后的元素会增加许多新的特性,在这一点上与之后学习的flex弹性布局方式类似,也是有很多额外的特性参数可以设置。
image.png

1.脱标(脱离标准流)

image.png
image.png
图解:
image.png
并且由于CSS是层叠性的,所以从上往下看,浮动的盒子会处在标准流盒子的上方,形成一个叠加的样子:
image.png

2.浮动元素一行显示且顶部对齐

image.png
同时为浮动属性的盒子如果能在一行显示则会在一行内显示,并且按照顶部对齐,不管盒子的下沿有多长。
image.png
但是如果父元素内一行装不下(即浏览器缩小的情况下)则会换行。
image.png

3.浮动元素具有行内块元素特性

image.png
无论任何元素(行内/块级/行内块)都可以添加浮动,一旦添加浮动后就会变成行内块元素的特性,可以设置宽高,边距,边框等。

4.浮动元素经常与标准流的父级一起使用

如果我们不给浮动盒子设置父级块的范围,则其总是以浏览器边缘为准,很显然这不是我们想要的效果。
image.png
记住网页布局的第一原则:先用标准流上下排列,再用浮动在盒子中左右排列。

示例:

image.png
image.png