深入理解 position: relative;

 我来答
黑科技1718
2022-06-10 · TA获得超过5876个赞
知道小有建树答主
回答量:433
采纳率:97%
帮助的人:81.9万
展开全部

先插一嘴定位的其它值,最初学习positive的时候,只是对position: absolute的意思不明白:

不明觉厉,在项目中遇到坑的时候才真正理解 已定位的祖先元素 是说当前标签的父级元素应该是absolue、或者relative的时候,子标签才可以用绝对定位。当时很是欣喜,以为对position已经完全掌握,然而...
元旦前在做一个项目的时候如下界面:

大致看了一眼,没什么难度啊,一直用 position: relative;设置top 就好了啊

事实上,在给从上到下的元素都用relative之后,整个界面的布局并不像预期的一样,第一个设置position: relative;的元素正常,下面设置position: relative;的元素会往浏览器上移before元素的 -top px值。
百思不得骑姐...
旁边坐了一个vue leader:查看一下盒模型!

擦,为什么会有一个 -50的东西出现?浏览器解析的css样式中并没有设置这样一个东西。
本来以为在给标签设置

之后,下面跟着的元素就会跟着一起往下排,显示结果表明很可能是自己对 position: relative;的理解有偏差,搜了好久,发现了这样一句话:
position: relative;只是在视觉上显示出有偏差
这时候我们再看文档中:

就是说标签其实在DOM中还占据着原始的位置,只是在视觉上给人偏移的错觉。这样就可以合理解释为何第二个往后设置relative的元素没有跟着往下排列。很自然的,既然还占着原来的位置,那就手动设置 margin-bottom: 15px;就可以实现真正意义上的DOM位置偏移。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式