先介绍一下position 属性值的含义:
- static
- 元素框正常生成。块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其父元素中。
- relative
- 元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。
- absolute
- 元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。
- fixed
- 元素框的表现类似于将 position 设置为 absolute,不过其包含块是视窗本身
相对定位relative:
-
相对定位,就是微调元素位置的.让元素相对
自己原来的位置,进行位置的微调,比如relative生成相对定位的元素,也就是说top或者left(或者bottom,right)的改变是相对其自己的位置进行定位的.
-
也就是说,如果一个盒子想进行位置调整,那么就要使用相对定位了。.
- 绝对定位:
- absolute生成绝对定位的元素,相对于static定位以外的第一个父元素进行定位。
- fixed生成绝对定位的元素,相对于浏览器窗口进行定位。
- 其实absolute和fixed在浏览器页面没有滚动条的情况下的位置移动是没有差异的(如上图 absolute和 fixed相对于初始位置的移动的图)。
- 绝对定位之后,标签就不区分所谓的行内元素,块级元素了,不需要
display:block;
就可以设置宽高了 -
固定定位 :
固定定位,就是相对浏览器窗口定位.页面如何滚动,这个盒子显示的位置不变.
固定定位脱标!