第4课 一张图让你对CSS盒模型过目不忘

一、CSS与CSS盒模型

1. 什么是CSS?

CSS即层叠样式表(全称:Cascading Style Sheets),是一种用来表现HTML样式的计算机语言,它不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。 也许这个术语可能比较陌生,但是实际上我们已经用过了。大部分容器的属性style的值以及标签<style></style>里的内容都只能是CSS。

2. 什么是CSS盒模型?

我们之前提过容器的概念,这里的盒子可理解为在浏览器上可见的块状容器。比如一个登录模块,新闻或人物摘要模块,文章列表等。CSS给这些盒子定了一个盒子模型,包含了内容(content)、内边距(padding)、边框(border)、外边距(margin)几个要素,这个模型像极了一个快递盒子。为了更好地说明这个问题,我真的弄了一个快递盒子,折腾了两小时,今天非得把这个问题说明白了,看图!


盒子模型

这个快递盒子已经把盒子模型表达得很清楚了。

  • padding: 是内容与边框之间的距离,图上表现即表现为泡沫的厚度(忽略间隙,下同)。
  • border: 边框,图上表现为纸箱。
  • margin: 是一个容器的边框与另一个容器边框之间的距离,上图表现为纸箱间距。
  • content: 容器中的内容,上图表现为砖头。

小明家装修就差几块砖,刚好我家有点旧砖就给他寄过去,寄之前我按绿色箭头的测量方法测量好了之后,把尺寸告诉给小明。过些天快件要到了。彼时小明已记不清我说的尺寸,但又不好意思再问我,于是让派件小哥帮忙测量,派件小哥就把快件按红色箭头的测量方法测量好了之后,把尺寸告诉给小明。小明犯难了,这尺寸不对呀,这可如何是好。

其实不是尺寸出了问题,而是我们度量尺寸之前没有协商好以什么样的方式去度量。box-sizing的作用就是把容器的度量方式给确定下来,这样在说明或计算一个容器的宽高的时候才不致于混乱。然而实际开发的过程中,这个样式属性用得很少,是因为一般情况下我们是按其默认值 content-box的方式进程度量的。

二、属性解析

box-sizing: content-box|border-box|inherit

说明
content-box 这是CSS2.1指定的宽度和高度的行为。指定元素的宽度和高度(最小/最大属性)适用于box的宽度和高度。元素的填充和边框布局和绘制指定宽度和高度除外
border-box 指定宽度和高度(最小/最大属性)确定元素边框box。也就是说,对元素指定宽度和高度包括padding和border的指定。内容的宽度和高度减去各自双方该边框和填充的宽度从指定的"宽度"和"高度"属性计算
inherit 指定box-sizing属性的值,应该从父元素继承
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,026评论 1 92
  • 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握CSS三种显示...
    七彩小鹿阅读 6,424评论 2 66
  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 4,790评论 0 26
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 3,682评论 0 6
  • baby,今天又想起了你 琴子,没有矫情,是真的 虽然我把有关于你的一切都放在了云盘里,准备永远不打开 我还是想起...
    古月伴琴声阅读 632评论 0 3

友情链接更多精彩内容