CSS盒子模型

(一)盒子模型从上到下分为五层:

  • 边框(border),位于盒子的第一层。
  • 元素内容(content)、内边距(padding),两者同位于第二层。
  • 背景图(background-image),位于第三层。
  • 背景色(background-color),位于第四层。
  • 整个盒子的外边距(margin),位于第五层。
    几个重要的参数:margin、padding、border、content

(二)W3C 盒子模型

IE 盒子模型和标准 W3C 盒子模型对比 **不同 **的是:IE 盒子模型的 content 部分包含了 borderpading,如下图:

W3C盒子模型与IE盒子模型对比.png

标准 W3C 盒子模型

  • 总宽度 = margin-left + border-left + padding-left + width + padding-right + border-right + margin-right

IE 盒子模型

  • 总宽度 = margin-left + width + margin-right

那应该选择哪中盒子模型呢?

  • 当然是“标准 W3C 盒子模型”了。就是在网页的顶部加上 DOCTYPE 声明,所有浏览器都会采用标准 W3C 盒子模型去解释你的盒子,网页就能在各个浏览器中显示一致了。

  • NOTE:如果不加 DOCTYPE 声明,那么各个浏览器会根据自己的行为去理解网页,即 IE 浏览器会采用 IE 盒子模型去解释你的盒子,而 FF 会采用标准 W3C 盒子模型解释你的盒子,所以网页在不同的浏览器中就显示的不一样了。


(三)CSS 外边距合并

  • 外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。
  • 合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。

①当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并。如下图所示:


②当一个元素包含在另一个元素中时(假设没有内边距或边框把外边距分隔开),它们的上和 / 或下外边距也会发生合并。如下图所示:


③外边距甚至可以与自身发生合并。假设有一个空元素,它有外边距,但是没有边框或填充。在这种情况下,上外边距与下外边距就碰到了一起,它们会发生合并:


④如果这个外边距遇到另一个元素的外边距,它还会发生合并:


这就是一系列的段落元素占用空间非常小的原因,因为它们的所有外边距都合并到一起,形成了一个小的外边距。

那怎么解决这个问题呢?——戳下面的链接
转:http://www.jianshu.com/p/caf9b884218d

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,796评论 1 92
  • 前言 总括: 对于盒子模型,BFC,IFC和外边距合并等概念和问题的总结 原文地址:从CSS盒子模型说起 知乎专栏...
    秦至阅读 784评论 0 3
  • 引言 这次给大家带来了CSS-盒子模型部分的笔记,大家一同交流😊 认识盒子模型之前,先来了解一下CSS元素的分类吧...
    zhaolion阅读 4,327评论 9 85
  • 最近在工作中遇到很多样式的问题,虽然是解决了但是总觉得自己知其然而不知其所以然。今天简单的了解了盒子模型,解开了我...
    魏永_Owen_Wei阅读 454评论 0 0
  • 学号:17101223364 姓名:张海潮 转载自:http://m.blog.csdn.net/erlib/ar...
    M张Z阅读 889评论 0 0