微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

html – 为什么Firefox在折叠边距时表现不同?

Firefox在div.p的顶部渲染100px的边距.这似乎是利润率的崩溃.但是div.p的计算高度是100px.根据 spec它不应该做保证金崩溃.这是一个错误,还是我错了? Chrome按预期呈现.
codepen
.s {
  height: 100px;
  width: 200px;
  background: yellow;
  float: left;
}
.p {
  margin-top: 20px;
  margin-bottom: 100px;
  zoom: 1;
}
.p:after {
  content: ' ';
  display: block;
  height: 0;
  clear: both;
}
<div class="p">
  <div class="s"></div>
</div>

解决方法

我不确定为什么传统的clearfix不起作用,但这里有三种方法

就像Kaiido说的那样* {overflow:auto;}可以解决这个问题.这也可以作为* {overflow:hidden;}.

如果你不想要一个毯子溢出,你可以通过将overflow:hidden或overflow:auto添加到.p来更精确.这也解决了这个问题.

最后,如果你在clearfix(.p:after)中更改display:block to display:table,问题也会消失.

我真的不确定为什么传统的clearfix不起作用,但是解决它并不困难.

原文地址:https://www.jb51.cc/html/227082.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐