1

在某些情况下,元素的垂直边距会塌陷。有时作者不希望这种情况发生,我知道“取消折叠”边距的唯一方法是:

  • 设置border大小 >=1px
  • 设置padding大小 >=1px

这些变通方法对我来说很有意义,但它们只是:变通方法,并且它们有缺点。我很惊讶没有某种 css3 属性,例如margin-collapse: none;,类似于border-collapse.

设置边框/填充是展开边距的唯一方法真的是这样吗?

4

1 回答 1

4

不,还有许多其他方式,包括浮动、清除、绝对定位、设置overflow为 以外的值visible、设置某个min-height等,您可以根据规范说明来确定。

但是你是对的,所有这些都是具有各种副作用和缺点的解决方法,并且在 CSS like 中没有真正的“关闭开关” margin-collapse,甚至在 CSS3 盒模型模块中也没有。一个可能的理由是保证金崩溃应该自然发生,因此可以防止它的唯一方法是作为副作用,但这只是我的猜测,因为我同意有几种情况不直观或不合适。

也就是说,如果您喜欢冒险,可以在www-style mailing list上提出建议,看看他们怎么说。不过,我认为你不会有太多的运气。

于 2012-08-17T05:33:39.460 回答