转自http://andymao.com/ 的部分:
absolute,css中的写法是:position:absolute; 他的意思是绝对定位,脱离了文本流(即在文档中已经不占据位置),他是参照浏览器的左上角,配合top、right、bottom、left(下面简称trbl)进行定位,在没有设定trbl,默认依据父级的做标原始点为原始点。如果设定trbl并且父级没有设定position属性,那么当前的absolute则以浏览器左上角为原始点进行定位,位置将由trbl决定。
网页居中的话用absolute就容易出错,因为网页一直是随着分辨率的大小自动适应的,而absolute则会以浏览器的左上角为原始点,不会应为分辨率的变化而变化位置。很多人出错就在于这点上出错。而网页居左其特性与relative很相似,但是还是有本质的区别的。
relative,css中的写法是:position:relative; 他的意思是绝对相对定位,该元素依然占据文档中原有的位置,只是视觉上相对原来的位置有移动。他是参照父级的原始点为原始点,无父级则以body的原始点为原始点,配合trbl进行定位,当父级内有padding等css属性时,当前级的原始点则参照父级内容区的原始点进行定位。
有时我们还需要依靠z-index来设定容器的上下关系,数值越大越在最上面,数值范围是自然数。当然有一点要注意,父子关系是无法用z-index来设定上下关系的,一定是子级在上父级在下。
以上是position的用法。有一个更详细的博客:http://www.cnblogs.com/bokin/archive/2012/12/14/2816864.html
自己的理解部分
其实我对上面的position是理解的,为什么我突然又去查了?
原因是这次,我没写position属性,直接写了trbl的数值。代码如下:
分享到
我想直接把div1靠右,这样行不行呢?
答案是不行!
查了很多地方,才明白:
当没有设定position值的时候,默认是static,所以不起任何作用。
大家以后用trbl时,一定记得搭配position设定。