在用JS做一些动画效果的时候absolute经常会用到,因为它是会脱离文档流。
官方的解释就去看手册吧,这里我就写下我的测试结果。
1、position:absolute;相对浏览器的绝对大小,所以CSS手册里说它是进行绝对定位,而且它是脱离文档流的。何为绝对大小?绝对大小即整张网页的大小,有绝对大小自然有相对大小,相对大小即浏览器的视口,就是我们不滚动能看到的,因为有些网页的内容较多,它的高度可能很大,所以会出现滚动条,相对大小不包括滚动下面的内容,只是我们能看的部分!
2、position:relative;相对定位,不会脱离文档流!相对于它的文档流的前一个对象(我自己想的……也可以理解上下文)根据left和top来定位。依自己的display属性相对的前一对象的边位置也有所不同。
首先说比较特殊的一个情况:
自己display:inline前一对象inline,则会相对于前一对象上边框进行上偏移,对右边框进行左偏移,即2个对象都是在同一行里,如图1。
2 #demo3 { width : 200px ; height : 200px ; background : #666 ; position : relative ; left : 200px ; /* top:50px; */ }
3 </ style >
4 < span style ="border:2px solid #F00" style ="width:300px;" > 参照物1 </ span >< span id ="demo3" > relative </ span >
图1
只有以上这种用情况下编辑特殊,其它情况下则其实是另一起一行相对于父容器左边偏移,前一对象的下底进行上偏移,relative就完了。
那么接下来再说说absolute的情况,都知道是绝对定位,前面提到了浏览器的绝对大小,那么它其实是对浏览器的绝对大小来进行偏移的,如图2!
图2
对于以上论述过于片面,请看官方解释点这里进入.
完。