绝对定位意味着元素完全脱离页面布局的正常流动。就页面上的其余元素而言,绝对定位的元素根本不存在。然后,使用左,右,顶部和底部属性,在您指定的位置单独绘制元素本身,排序在其他一切的“顶部”。
使用您使用这些属性指定的位置,元素然后放置在其最后一个祖先元素中的该位置,该元素具有除静态之外的任何位置属性(静态是定位元素在没有指定位置属性时使用),或者文档主体(浏览器视口)(如果不存在这样的祖先)。
例如,如果我有这样的代码:
… then< div>将位于距浏览器视口顶部20像素,距离左边缘20像素。
但是,如果我做了这样的事情:
…然后内部div将位于距离外部div的顶部20px,和从左边缘的20px相同,因为外部div不定位与position:static,因为我们明确设置为使用位置:相对。
相对定位,另一方面,就像没有定位,但左,右,顶部和底部属性“微调”元素的正常布局。页面上的其余元素仍然被布置,好像元素在正常的位置。
例如,如果我有这样的代码:
Span1
Span2
Span3
…然后所有三个< span>元素将彼此相邻而不重叠。
如果我将第二个< span>使用相对定位,如下:
Span1
Span2
Span3
…然后Span2会重叠Span1的右边5px。 Span1和Span3将位于与他们在第一个例子中完全相同的地方,在Span2的右侧和Span3的左侧之间留下5px的间隙。
希望澄清的东西有点。