HTML5开发-子元素设置margin影响父元素

这个问题发生的原因是根据规范,一个盒子如果没有上补白(padding-top),那么这个盒子的上边距会和其内部文档流中的第一个子元素的上边距重叠。

再说了白点就是:父元素的第一个子元素的上边距margin-top如果碰不到有效的padding.就会不断一层一层的找自己 “领导”(父元素,祖先元素)的麻烦。只要给领导设置个有效的padding就可以有效的管制这个目无领导的margin防止它越级,假传圣旨,把自己的margin当领导的margin执行。 对于垂直外边距合并的解决方案上面已经解释了,为父元素例子中的middle元素增加一个padding-top或者最上方的子元素使用padding代替margin即可解决这个问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,815评论 1 92
  • 问题 我碰到的问题如下,body 的 margin 为 0px,height 为 100%,但是它不在页面顶端,导...
    笋斋阅读 996评论 1 0
  • 在css中margin和padding经常一起使用,多数情况下他们实现相同的效果。在一个块级元素中,margin指...
    tanyp阅读 923评论 0 1
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 1,884评论 0 6
  • 盒模型 CSS 框模型 (Box Model) 规定了元素框处理元素内容、内边距、边框和外边距的方式。 ps:如果...
    樱速阅读 1,279评论 0 2