1.float:left,float:right可以让元素脱离原始文档流,也就是所谓的"浮动",可以理解为元素漂浮在原本所占位置的上空,意思是元素漂浮起来了,不占原始文档流的空间。但是,别的元素可以感知到浮动元素的存在,会自动跳过浮动元素的下方位置,也就不会产生元素的重叠。
块级元素:每个元素独占一行,可以设置width和height
行内元素:可以多个元素排列在一行,不能设置width和height
浮动元素:既可以多个元素排列在一行,又可以设置width和height
2.float实现三列布局示例
![](https://i-blog.csdnimg.cn/direct/5b05f8fb56cc4a1fa5690b7a63c44382.png)
中间再添加一个元素,设置width为auto,中间元素的宽度会根据实际内容进行变化
![](https://i-blog.csdnimg.cn/direct/265d413412484077a9f7d0938059b2a7.png)
![](https://i-blog.csdnimg.cn/direct/4adc825eadce4b808ae94b8214413675.png)
注意:
1.如果标签是块级元素,这每个元素独占一行,中间的橘黄色部分元素也会独占一行,即使元素大小并没有占据前一行元素的所有空间,这时应该将中间元素设置为display: inline-block;
如果没有设置display: inline-block;
![](https://i-blog.csdnimg.cn/direct/a9fc576edc464e86a1d2369a3a8c773d.png)
设置display: inline-block;之后
![](https://i-blog.csdnimg.cn/direct/41218bea8f7c4b3190cb1f6e9029518f.png)
2.子元素使用浮动属性,父元素请不要设置display属性,否则可能因父元素的布局,导致子元素的浮动效果被忽略
以上内容纯属个人见解,如有不正确的地方,还请指正!!!