static:元素框正常生成。块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其父元素中。
relative:元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。
absolute:元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。
fixed:元素框的表现类似于将position设置为absolute,不过其包含块是视窗本身。
提示:相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。
CSS中的position property一共有四种:
postion: static
postion: relative
position: fixed
position: absolute
如果设置div为static postion, div的位置将不受top,right,left,button等变量的影响,而是按照正常的页面布局进行排版。例:
div.static {
position: static
border: 3px solid #8AC007
}
如果设置div为relative position, 其变量的值将会使div的位置相对其正常(default)位置进行移动。例:
div.relative {
position: relative
left: 30px
border: 3px solid #8AC007
}
如果设置div为fixed position, div将会被固定在窗口的固定位置。也就是说无论你如何上下移动页面, div在屏幕上显示的位置始终不变。
div.fixed {
position: fixed
bottom: 0
right: 0
width: 300px
border: 3px solid #8AC007
}
如果设置div为absolute position, div将会相对于其最近的position ancestor定位。absolute position是可以随页面移动而移动在屏幕上的位置的。
div.absolute {
position: absolute
top: 80px
right: 0
width: 200px
height: 100px
border: 3px solid #8AC007
}
以上CSS你可以放到自己的网页应用里试一下,区别就很明显了。
参考资料:http://www.w3schools.com/css/css_positioning.asp