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

margin-left到底是以父块边界为基准还是相邻的字块的边界为基准的?

@weixin_phoenix_1  为何content下的可以直接设置margin-left:200px,这个明显是以mainbody的左边界为基准的,并不是以slidebar的边界为基准的。但是“margin-top:0px 此时因为content处在sidebar下面 所以这句代码的意思是content的上界和sidebar保持0px的距离”。不知道我说明白了没。

正在回答

3 回答

我觉得那儿应该就是left不应该是margin-left margin是相邻div与div的,按讲的意思就成了和包含它的mainbody之间的距离,可是它们两个是包含关系不是相邻关系。

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

我懂你的意思了   我试了下   content设置绝对 用top left right bottom去控制他相对父块的上右下昨位置  如果不设置这四个属性,他还是在原来的位置只是不占用文档流的空间了,如果他下面还有div就会窜到他的位置;
然后我这写着写着再想想咱做的案例  我也蒙圈了   margin设的值到底是相对谁=。=

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

高粱地里吃过亏 提问者

我似乎明白了。首先margin是一个相对定位,一定是以偏移方向上的相邻块为基准,top是绝对定位,一定是以父块为为基准; 代码里先设置了top:0;此时content已经位移到了和slidebar相同的位置并重叠(脱离文档流)!此时它左侧相邻的已不再是slidebar了,而是mainbody的左边界!所以此时设margin-left和left是一个效果,都是以mainbody的左边界为基准。貌似这样理解想的通= 。=
2016-09-22 回复 有任何疑惑可以回复我~
#2

无言一 回复 高粱地里吃过亏 提问者

只能这么理解了 在网上搜也没找到合理的解释。。。
2016-09-22 回复 有任何疑惑可以回复我~

我的理解是 :在这里content使用了absolute,脱离了文档流,而他的父块使用了除position:static以外的进行了定位,content就以父块为基准进行了偏移定位,相应的margin都是以父块为基准的,个人理解,勿喷

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

高粱地里吃过亏 提问者

但是如果这里写margin-top:0px,为什么是以slidebar的下边界为基准偏移了? 同样的父块和定位。
2016-09-22 回复 有任何疑惑可以回复我~
#2

高粱地里吃过亏 提问者

不知道我说明白了没有,就content那里使用margin-left时确实是以mainbody为基准偏移了,但是使用margin-top:0;结果content仍然停留在slidebar的下面,并不会上去到mainbody的上边界去
2016-09-22 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

margin-left到底是以父块边界为基准还是相邻的字块的边界为基准的?

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