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的间隙。

希望澄清的东西有点。

相关文章

前言 最近项目做完,用户需要兼容IE,于是开展了兼容性的调整工作。边调整边想感叹IE真是个沙雕。。特将...
前言 有些属性不是很常用,但是工作中遇到了,记录一下,方便学习。 1、text-indent text-indent 属性规...
前言 政府网站会遇到公祭日的时候,网站整体颜色变灰的情况。今天正好调了一下。在此把解决方案分享给大...
需求 项目里有个消息中心,当有消息的时候,小铃铛图标可以晃两下,提示当前有信息。 实现过程 书写css...
html代码 css代码 效果图
在一些界面上 , 如果每个icon都去找图片还是相当麻烦的 , 直接使用css画出icon就方便的多了 , 下面两个...