css – style =“position:absolute”和style =“position:relative”之间的差异

前端之家收集整理的这篇文章主要介绍了css – style =“position:absolute”和style =“position:relative”之间的差异前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
任何人都能告诉我style =“position:absolute”和style =“position:relative”之间的区别,以及它们在我将它添加到div / span / input元素时的区别?

我现在使用绝对,但我想探索相对。这将如何改变定位?

解决方法

绝对定位意味着元素完全脱离页面布局的正常流动。就页面上的其余元素而言,绝对定位的元素根本不存在。然后,使用左,右,顶部和底部属性,在您指定的位置单独绘制元素本身,排序在其他一切的“顶部”。

使用您使用这些属性指定的位置,元素然后放置在其最后一个祖先元素中的该位置,该元素具有除静态之外的任何位置属性(静态是定位元素在没有指定位置属性时使用),或者文档主体(浏览器视口)(如果不存在这样的祖先)。

例如,如果我有这样的代码

<body>
  <div style="position:absolute; left: 20px; top: 20px;"></div>
</body>

… then< div>将位于距浏览器视口顶部20像素,距离左边缘20像素。

但是,如果我做了这样的事情:

<div id="outer" style="position:relative">
   <div id="inner" style="position:absolute; left: 20px; top: 20px;"></div>
 </div>

…然后内部div将位于距离外部div的顶部20px,和从左边缘的20px相同,因为外部div不定位与position:static,因为我们明确设置为使用位置:相对。

相对定位,另一方面,就像没有定位,但左,右,顶部和底部属性“微调”元素的正常布局。页面上的其余元素仍然被布置,好像元素在正常的位置。

例如,如果我有这样的代码

<span>Span1</span>
<span>Span2</span>
<span>Span3</span>

…然后所有三个< span>元素将彼此相邻而不重叠。

如果我将第二个< span>使用相对定位,如下:

<span>Span1</span>
<span style="position: relative; left: -5px;">Span2</span>
<span>Span3</span>

…然后Span2会重叠Span1的右边5px。 Span1和Span3将位于与他们在第一个例子中完全相同的地方,在Span2的右侧和Span3的左侧之间留下5px的间隙。

希望澄清的东西有点。

猜你在找的CSS相关文章