CSS盒子模型

栏目: CSS · 发布时间: 6年前

内容简介:CSS盒子模型算是CSS中最重要的一部分,在开发中遇到难以理解的现象,往往是因为对模型的理解不够。 盒子模型主要有标准模型和IE模型,本文主要讲述:标准模型「默认:box-sizing: content-box」由四部分组成,从内到外依次是:标准模型指的是设置box-sizing为content-box的盒子模型,一般width,height 指的是content的宽高。 而IE模型指的是box-sizing为border-box的盒子模型。宽高的计算是content+padding+border;

CSS盒子模型算是CSS中最重要的一部分,在开发中遇到难以理解的现象,往往是因为对模型的理解不够。 盒子模型主要有标准模型和IE模型,本文主要讲述:

  • 标准模型基本概念
  • 标准模型与IE模型的区别
  • 边距重叠与BFC
  • 其他

标准模型基本概念

CSS盒子模型

标准模型「默认:box-sizing: content-box」由四部分组成,从内到外依次是:

  • 内容区域「content」:可以放置元素的区域如文本,图像等,一般设置宽高度指的是这个内容的宽高;
  • 内边距区域「padding」:内容与边框之间的距离
  • 边框区域「border」:就是边框
  • 外边距区域「margin」:由外边边距限制,用空白区域扩展边框区域,来分开相邻的元素。

标准模型与IE模型的区别

标准模型指的是设置box-sizing为content-box的盒子模型,一般width,height 指的是content的宽高。 而IE模型指的是box-sizing为border-box的盒子模型。宽高的计算是content+padding+border;

边距重叠与BFC

外边重叠三种情况:

  • 相邻元素之间
    CSS盒子模型
  • 父元素与其第一个或最后一个字元素之间
    CSS盒子模型
  • 空的块级元素

BFC

BFC的定义:见MDNBFC

BFC的作用:

  • 让浮动内容与周围内容等高 当浮动内容溢出容器的时候,创建容器的BFC,来包裹这个浮动。
CSS盒子模型
  • 外边距蹦陷 当外边距被合并时,创建各自的BFC,来解决问题 父元素与第一个元素上边距合并,创建父元素与第一个元素的各自的BFC
    CSS盒子模型

其他

包含块的影响

当我们设置元素的一些属性,譬如:width、height、padding、margin、定位的偏移值「top,left」,常常受到起包含块的影响。

谁是你的包含块

  • position 属性为static,relative 包含块为最近祖先块元素。
  • position 属性为absolute,包含块为不是static的祖先元素,这跟定位差不多。
  • position 为 fixed,包含块就是 viewport,也就是整个屏幕大小

元素的width、padding、margin、定位的偏移值「top,left」百分比是根据包含块的宽度计算

如何画一个自适应宽高的正方形

div{
    width: 100%;
    padding-bottom: 100%;
}
复制代码

因为padding跟width的计算是根据包含块的宽度计算的,而height = content + padding 所以这样能画出一个正方形。


以上所述就是小编给大家介绍的《CSS盒子模型》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C++沉思录

C++沉思录

Andrew Koenig、Barbara Moo / 黄晓春、孟岩(审校) / 人民邮电出版社 / 2008-1 / 55.00元

《C++沉思录》基于作者在知名技术杂志发表的技术文章、世界各地发表的演讲以及斯坦福大学的课程讲义整理、写作而成,融聚了作者10多年C++程序生涯的真知灼见。全书分为6篇32章,分别对C++语言的历史和特点、类和继承、STL与泛型编程、库的设计等几大技术话题进行了详细而深入的讨论,细微之处几乎涵盖了C++所有的设计思想和技术细节。全书通过精心挑选的实例,向读者传达先进的程序设计的方法和理念。一起来看看 《C++沉思录》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具