css中absolute和relative的区别

说通俗点,网上的看不懂只知道absolute是相对父元素(非标准流元素),无占位那relative相对什么点位,是不是a元素(relative)包含b元素(absolut... 说通俗点,网上的看不懂

只知道absolute是相对父元素(非标准流元素),无占位
那relative相对什么点位,是不是a元素(relative)包含b元素(absolute),b是跟着a动?
哪相反呢!a是absolut……
展开
 我来答
帐号已注销
高粉答主

2019-08-26 · 关注我不会让你失望
知道小有建树答主
回答量:1346
采纳率:100%
帮助的人:43万
展开全部

1、文档流不同

elative 不脱离文档流,absolute 脱离文档流。

2、分级不同

elative 参考自身静态位置通过 top(上),bottom(下),left(左),right(右) 定位,并且可以通过z-index进行层次分级。

absolute通过 top,bottom,left,right 定位。选取其最近的父级定位元素,当父级 position 为 static 时,absolute元素将以body坐标原点进行定位,可以通过z-index进行层次分级。

3、定位不同

absolute是绝对定位,绝对定位就是相对于父元素的定位,不受父元素内其他子元素的影响;而relative是相对定位,相对定位是相对于同级元素的定位,也就是上一个同级元素。

扩展资料

由于广告的滥用,使得一些浏览器软件都开始有了广告内容拦截,使得一些很好的效果现在都不推荐使用了。比如让一个元素可能随着网页的滚动而不断改变自己的位置。

而现在我可以通过CSS中的一个定位属性来实现这样的一个效果,这个元素属性就是曾经不被支持的position:fixed。

含义:固定定位。这个固定与绝对定位很像,唯一不同的是绝对定位是被固定在网页中的某一个位置,而固定定位则是固定在浏览器的视框位置。

虽然原来的浏览器并不支持过个属性,但是浏览器的发展使得现在的高级浏览器都可以正确的解析这个CSS属性。并且通过CSS HACK来让IE6都可以实现这样的效果(目前无法使IE5.x)实现这种效果。

CSS元素绝对定位、相对定位 布局和浮动等

1、position:static|无定位

position:static是所有元素定位的默认值, 一般不用注明,除非有需要取消继承的别的定位

example:

#div-1 {

position:static;

}

2、 position:relative|相对定位

使用position:relative,就需要top,bottom,left,right4个属性来配合,确定元素的位置。

如果要让div-1层向下移动20px,左移40px:

example:

#div-1 {

position:relative;

top:20px;

left:40px;

}

如果用到相对定位,紧随他的层divafter是不会出现在div-1的下方,而是和div-1在同一个高度出现。

可见, position:relative;并不是很好用。

参考资料来源:百度百科-CSS定位

灵巧且舒坦的小兔子B
2019-07-13 · TA获得超过4777个赞
知道答主
回答量:130
采纳率:100%
帮助的人:2.3万
展开全部

1、文档流不同

elative 不脱离文档流,absolute 脱离文档流。

2、分级不同

elative 参考自身静态位置通过 top(上),bottom(下),left(左),right(右) 定位,并且可以通过z-index进行层次分级。

absolute通过 top,bottom,left,right 定位。选取其最近的父级定位元素,当父级 position 为 static 时,absolute元素将以body坐标原点进行定位,可以通过z-index进行层次分级。

3、定位不同

absolute是绝对定位,绝对定位就是相对于父元素的定位,不受父元素内其他子元素的影响;而relative是相对定位,相对定位是相对于同级元素的定位,也就是上一个同级元素。

扩展资料

CSS定位的应用及注意事项

1、 A:相对定位(position: relative):如果对某一个元素进行相对定位,它将出现在它所在的位置上。

然后,可以通过设置垂直(或水平)位置(top,right,bottom,left四值),让这个元素"相对于"它的起点进行移动。注:设置为相对定位的元素框会偏移某个距离。

元素仍然保持其未定位前的形状,它原本所占的空间仍保留;

2、 B:绝对定位(position: absolute):绝对定位使元素的位置与文档流无关,所以不会占用空间。与相对定位不同,相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。

注:设置为绝对定位的元素框从文档流完全删除,并相对于其包含块定位,包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框;

CSS定位的原理:可以位移的元素 (相对定位)

但是事实上那并非是真实的位移,因为,那只是通过加大margin值来实现的障眼法。而真正意义上的位移是通过top,right,bottom,left(下称TRBL,TRBL可以折分使用。)针对一个相对定位的元素所产生的。

我们看到这个处在文本流的区块被上面的相对定位挡住了一部分,这说明:“当元素被设置相对定位或是绝对定位后,将自动产生层叠,他们的层叠级别自然的高于文本流”。除非设置其z-index值为负值,但是在 Firefox等浏览器中z-index为负值时将不会显示。

并且我们发现当相对定位元素进行位移后,表现内容已经脱离了文本流,只是在本文流中还为原来的相对对定位留下了原有的总宽与总高(内容的高度或是宽度加上margin\border\padding的数值)。

这说明在相对定位中,虽然表现区脱离了原来的文本流,但是在文本流中还有此相对定位的老窝。这点要特别注意,因为在实际应用中如果相对定位的位移数值过大,那么原有的区域就会形成一块空白。

参考资料来源:百度百科-CSS定位

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
慕刓辞
推荐于2017-09-13 · 知道合伙人软件行家
慕刓辞
知道合伙人软件行家
采纳数:583 获赞数:1704
从事前端开发4年,喜欢专研H5各种网页效果!

向TA提问 私信TA
展开全部
absolute是绝对定位;而relative是相对定位;
解释:
绝对定位就是相对于父元素的定位,不受父元素内其他子元素的影响;
而相对定位是相对于同级元素的定位,也就是上一个同级元素
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
毋文心31
2014-09-02 · TA获得超过212个赞
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:155万
展开全部
你好
absolute是绝对定位,相对于浏览器的定位。
比如:position:absolute;left:10px;top:20px; 这个容器始终位于距离浏览器左10px,距离浏览器上20px的这个位置。
relative是相对定位,是相对于前面的容器定位的,不能用top left定位,应该用margin属性。
希望能帮到你。
追问
你这样一说,absolute和fixed混在一起
追答
你好,absolute和fixed是不一样的,fixed是固定位置,设置了top和left之后,浏览器滚动条拖动时元素是不会动的,就固定在那里了。你可以试试看。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式