Float——浮动与清除浮动(逆战班)
首先什么是文档流?
文档流是文档中可显示对象在排列时所占用的位置。
一.了解 float 特性:
加浮动的元素,会脱离文档流,会沿着父容器靠左或靠右排列,如果之前已经有浮动的元素,会挨着浮动的元素进行排列。
Float的取值:
left 沿着父容器靠左排列。
right 沿着父容器靠右排列。
none 没有浮动
float注意点
只会影响后面的元素。
内容默认提升半层。
默认宽根据内容决定。
换行排列,当容器放不下这些浮动元素的时候,就会换行排列 ( 尽量让浮动的元素高度是统一 )
主要给块元素添加,但也可以给内联元素添加。
二.清除浮动:
1. 解决上下排列的情况:
利用clear属性清除float浮动
clear : left | right | both(比较常用的,左右浮动都清除)
2. 解决嵌套的情况:
1.固定宽高 : 不推荐 , 不能把高度固定死,不适合做自适应的效果。
2.父元素浮动 : 不推荐 , 因为父容器浮动也会影响到后面的元素。
3.overflow : hidden (BFC规范) , 如果有子元素想溢出,那么会受到影响。
4.display : inline-block (BFC规范),不推荐,父容器会影响到后面的元素。
5.设置空标签 : 不推荐 , 会多添加一个标签。
6.after伪类 : 推荐,是空标签的加强版,目前各大公司的做法。&
注:块元素是存在margin-top传递问题的,但是浮动的块是不存在传递问题的