文档流(normal flow)
一 normal flow
- 什么是文档流?文档中元素的默认流动方向,是CSS世界中的一种基本的定位和布局机制。
二 流动方向
- inline元素从左到右,到达最右边才会换行。
- block元素从上到下,每一个都另起一行。
- inline-block也是从左到右,但不会从中间断开。

三 三种元素的宽度
- inline元素,宽度为内部inline元素的和,不能用width指定。
- block元素,默认width:auto,自动计算宽度,可用width指定。
- inline-block元素,结合前两者特点,默认宽度为内部inline元素的和,同时可以用width指定宽度。
四 三种元素的高度
- inline元素,高度由line-height间接确定,跟height无关。
- block元素,高度由内部文档流元素决定,可以设height。
- inline-block元素,跟block类似,可以设height。
五 特殊情况,overflow溢出
- 当内容的宽度或高度大于容易时,会溢出。
- overflow可以设置overflow-x和overflow-y
- auto表示灵活设置,当内容溢出时显示滚动条,未溢出则不显示
- scroll永远显示滚动条
- hidden隐藏溢出内容
- visible显示溢出部分。
六 脱离文档流
- 哪些元素会脱离文档流?如果一个元素有float属性或者position:absolute/fixed,就会脱离文档流