文档流与元素定位
Document Flow: 文档流
将窗体自上而下分成一行行,并在每行中按从左至右的顺序排放元素,即为文档流。
- 块级元素
(block level) :总是以一个块的形式表现出来,并且跟同级的兄弟一次竖直排列,左右撑满。 - 行内元素
(inline) :对于文字这类元素,各个字母之间横向排列,到最右端自动折行,这就是另一种元素,称为“行内元素”。 - 浮动元素:浮动元素则按规定浮在行的一端。若当前行容不下,则另起新行再浮动。
有三种情况将使得元素脱离文档流而存在,分别是浮动,绝对定位
正常流是页面,大部分盒排布于正常流中。正常流中的盒必定位于某一格式化上下文中,正常流中有两种格式化上下文:块级格式化上下文
正常流中的盒分为块级与行内级两种,任何一个行内级盒都不能够直接被放入块级格式化上下文中。如果有一个
BFC: 块级格式化上下文
具有
body 根元素- 浮动元素:
float 除none 以外的值 - 绝对定位元素:position (absolute、fixed)
display 为inline-block 、table-cells、flexoverflow 除了visible 以外的值(hidden 、auto、scroll)
定义与触发
特性与应用
属性详解
display
position
我们先来看看
static:无特殊定位,对象遵循正常文档流。top,right,bottom,
-
静态定位
/ static: static ,无特殊定位,它是html 元素默认的定位方式,即我们不设定元素的position 属性时默认的position 值就是static ,它遵循正常的文档流对象,对象占用文档空间,该定位方式下,top、right、bottom、left、z-index 等属性是无效的。 -
相对定位
(relative): relative 定位,又称为相对定位,从字面上来解析,我们就可以看出该属性的主要特性:相对。但是它相对的又是相对于什么地方而言的呢?这个是个重点,也是最让我迷糊的一个地方,现在让我们来做个测试,我想大家都会明白的: