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

为什么left能够覆盖top?

如果top是block元素,那么会占据一整行,而main只能在top的下一行,于是,作为main的子元素left在location为absolute时为相对父元素定位,为什么还会超出父元素的边界呢?

正在回答

2 回答

父级要加绝对定位,子级才能相对于父级定位

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

格劳修斯 提问者

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

最好在父元素加position:ralative来让子元素作为绝对定位的参考系。

虽然父元素加position:absolute;也可以让子元素作为定位参考系,但是绝对定位会让元素从正常流中删除。

从你的问题上来说,你想让left相对于main来定位,最好把main设置为相对定位。若设置为绝对定位,那main将在正常流里删除,默认情况下会跑到浏览器页面左上角,同时left也会跑过去。

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

格劳修斯 提问者

我尝试了一下,在main设置为绝对定位以后,虽然没有跑到左上角,但是foot的位置发生了变化,紧挨着top的下面,应该是因为main的位置被foot忽视了。
2016-03-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
如何用CSS进行网页布局
  • 参与学习       209624    人
  • 解答问题       1153    个

用最简洁的案例教你布局的那些知识,这是前端工程师基本技能

进入课程

为什么left能够覆盖top?

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