文档流(normal flow)

283 阅读1分钟

一 normal flow

  1. 什么是文档流?文档中元素的默认流动方向,是CSS世界中的一种基本的定位和布局机制。

二 流动方向

  1. inline元素从左到右,到达最右边才会换行。
  2. block元素从上到下,每一个都另起一行。
  3. inline-block也是从左到右,但不会从中间断开。

三 三种元素的宽度

  1. inline元素,宽度为内部inline元素的和,不能用width指定。
  2. block元素,默认width:auto,自动计算宽度,可用width指定。
  3. inline-block元素,结合前两者特点,默认宽度为内部inline元素的和,同时可以用width指定宽度。

四 三种元素的高度

  1. inline元素,高度由line-height间接确定,跟height无关。
  2. block元素,高度由内部文档流元素决定,可以设height。
  3. inline-block元素,跟block类似,可以设height。

五 特殊情况,overflow溢出

  1. 当内容的宽度或高度大于容易时,会溢出。
  2. overflow可以设置overflow-x和overflow-y
  3. auto表示灵活设置,当内容溢出时显示滚动条,未溢出则不显示
  4. scroll永远显示滚动条
  5. hidden隐藏溢出内容
  6. visible显示溢出部分。

六 脱离文档流

  1. 哪些元素会脱离文档流?如果一个元素有float属性或者position:absolute/fixed,就会脱离文档流