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

绝对定位不设置偏移量

【前提:没有设置了定位的父元素】绝对定位的层没有设置偏移量为什么还是在原位置浮动起来了?为什么不是<html>呢?

因为我认为设置偏移量后,如果没有设置了定位的父元素时就是相对<HTML>定位的啊。

正在回答

4 回答

题主的意思很明确,既然是脱离普通文档流,也没有设置top/left,那么元素应该就在整个HTML的左上角啊?这是因为我们对absolute的属性认知不完全而造成的。absolute具有跟随性,当没有设置top/left等偏移值时,这个元素只是脱离了文档流,会对后面的元素产生影响,但它自身原来在什么位置,现在还是在什么位置。另外,absolute的属性实在太猛了,建议多了解下。比如absolute跟float一样具有包裹性,即由内容撑开宽高,absolute会使inline元素块状化;当同时设置absolute和float属性时,float会失效等等

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

蛋蛋90斤

太感谢了,我就是一直在纠结这个点,学习到了
2018-12-29 回复 有任何疑惑可以回复我~

题主你不是自己说的绝对定位的层没有设置偏移量吗?那没设置当然是原位置脱离了标准文档流,但是没有偏移,要是设置了就是相对于<html>进行偏移了

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

浮动是因为设置了绝对定位,你这样是相对<html>偏移,但是你没有设置偏移量

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

前提是没有设置偏移量呀,如果设置了偏移量,那么就是相对于<html>偏移了的

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

举报

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

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

进入课程

绝对定位不设置偏移量

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信