学习css 在用margin进行布局的时候,内层使用margin-top应该是相对于父层边框定位,为什么连父层也一起移动

2025-01-04 10:37:13
推荐回答(4个)
回答1:

这个是CSS规范化的结果,在1999规范以前,所有元素都是默认有border的,或者说,即使border宽度为0,仍然可作定位使用。

现在的规范中,将对margin定义更明确化(外边距:与当前盒模型以外的最近一个盒模型的间距),如果直接的父级盒模型在当前方向上没有border,就认为父级的范围也属于子标签的边框的一部分。

回答2:

这种情况肯定是你代码有问题了,你用margin-top的话,父级元素有没有定义好,如果你只是在html里面定义了父级,又没有对其做任何样式定义的话,可能就会有这种情况。你好好检查自己代码看看

回答3:

这种看你结构理解了 但也不是你理解错了 最好呢还是用在父级容器用padding-top 经验之谈

回答4:

我不知道你所说的父层一起移动是什么概念,最好给你的代码贴出来。但父层如果包含子层的话,会被撑大这是正常的。
比如下面这个例子,你可以修改margin-top看看效果

其他div


父div
子div