日期:2013-08-17  浏览次数:21028 次

在CSS中有这样的一个指令:(position)

在DW中文版中翻译为“定位”,常用的属性有relative(绝对)与 absolute(绝对)。

有很多朋友对这条指令的用法还是不清楚,这里做一定细致的讲解:

position:relative; 表示绝对定位,被定位了这个属性的标签在所属的范围内可以进行上下左右的移,这里的挪动与padding或是margin所产生的位置变化是不一样的。padding与margin是元素本身的一种边距与填充距离并不是真正的挪动,而被定义为relative的元素是真正的挪动,这所产生的挪动距离是从margin的外围到父级标签内侧之间这一段。

position:absolute; 表示绝对定位,如果定义了这个属性的元素,其位置将依据浏览器左上角的0点开始计算,并且是浮动正常元素之上的。那么当你需求某个元素定位在浏览器内容区的某个地方就可以用到这个属性。

那么有个问题产生了,如今大家做的网页大部分是居中的,那么我需求这个元素跟着网页中的某个元素位置不论分辨率是多少他的位置一直是针对页内的某个元素的,那么单纯的absolute是不行的。

正确的处理方法就是在元素的父级元素定义为position:relative;(更正:这里可以是祖父级,也可以是position:absolute;,多谢谢old9的提出)需求绝对定位的元素设为position:absolute;

这样再设定top,right,bottom,left的值就可以了,这样其定位的参照标准就是父级的左上角padding的左上侧!