为了账号安全,请及时绑定邮箱和手机立即绑定

相对定位后元素仍然在标准文档流中,但是为什么设置了偏移属性,却覆盖了后面的元素呢?

既然在文档流中,应该占满所在的行空间,把下面的内容挤下去才对啊

正在回答

7 回答

相对定位只是相对于自身而言它发生的偏移,但它还包含在标准文档流里,也可以认为是说,box2和box3得到的信息是——box1的位置没有发生偏移;可以把相对定位看作是一个幻影,你看到的效果是它覆盖了后面的内容,实际上机器语言编译出来的它还是在原来的位置没有发生偏移,box2和box3执行的是机器告诉它的信息

2 回复 有任何疑惑可以回复我~
#1

学无止境ooc

这个答案真的可信吗?虽然我还没找到更好的理由。
2015-10-27 回复 有任何疑惑可以回复我~
#2

grace_luo 提问者

非常感谢!
2016-03-16 回复 有任何疑惑可以回复我~

在标准文档流中就意味着它会占据标准文档流的空间,在它相对定位并设置了偏移属性后呢,它也会拥有z-index属性,也就是所看到的层堆叠,即覆盖了后面的元素。你可以把它看做不仅拥有x,y坐标,还拥有了z坐标;

而脱离标准文档流则意味着它的x,y坐标都没了,也就是说它不在这个层里了,因此下面的元素会取代了它的位置。

0 回复 有任何疑惑可以回复我~

你要知道如果脱离标准文档流,那么box2和box3会怎么样呢?会直接挤到最上面的。而不会原地不动。

0 回复 有任何疑惑可以回复我~

同问!如果处于标准文档流,那其他box会因为box1占位而填充空余位置,既然没有为什么叫做还在标准文档流中,有了z轴属性,不就脱离了标准文档流了吗?

0 回复 有任何疑惑可以回复我~

有自己的空间不代表不会覆盖或被覆盖。

0 回复 有任何疑惑可以回复我~

正是因为处于标准文档流中 所以会覆盖,因为他占有自己的空间。

0 回复 有任何疑惑可以回复我~

贴代码

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
网页布局基础
  • 参与学习       214672    人
  • 解答问题       1833    个

让你精通CSS中三大定位机制,彻底掌握网页布局的相关知识

进入课程

相对定位后元素仍然在标准文档流中,但是为什么设置了偏移属性,却覆盖了后面的元素呢?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号