我们都知道absolute是绝对定位,relative是相对定位。相应的用position属性来进行设置。但是这个绝对与相对是什么意思呢?绝对是哪里的绝对,相对又是相对于什么地方相对?那他们又有什么样的特性,可以做出什么样的效果呢?关于两者之间又有什么样的技巧下面我们就来解读。关于position属性可以参考这里。
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来设定上下关系的,一定是子级在上父级在下。这种属性设置是
css下拉菜单中尤为常见。