技术资讯
CSS盒子模型的深入解读
2016-09-20 16:43:47
本文章适合初级网站制作的web设计朋友🎐,让你对盒子模型有更近一步的理解。建议阅读这篇文章之前你应该对盒子模型html等基础知识是有一定的了解,否则会让你更加云里雾里。本文章更多的是教你在实战过程中如何自如的控制盒子的宽度,如何用最恰当的方法定位盒子,如何解决IE中盒子的种种bug,不会像很多的中文教程那样,把盒子模型内边距,外边距,如何定位等概念有条不紊的介绍一遍。
之所以翻译这篇外国文章,是因为青岛网站建设的程序员在学习的过程中也发现,国外的教程和过内的相比,它们授人以渔,更授人以鱼 🦄。不同于国内教程有章有节有点有条目,他们的叙述方式更接近谈话式的由浅入深……总而言之,目的在于给更多的初学者提供一点启示和帮助,不必像我一样走了许多弯路。
深入理解CSS盒子模型(The CSS Box Model)
如果你了解盒子模型(box model)的概念,了解它是如何决定某一个元素的最终尺寸的话,会有助你理解一个元素如何在网页上定位的。盒子模型主要适꧅用于块级元素。顺便🃏提一个与此相关的概念:行内布局模型(inline layout model)——定义了行内元素是如何定位的,在行内元素格式(InlineFormatting)中有具体说明
盒子的尺寸的计算(Calculating BoxDimensions)
在﷽CSS2.1中,块级元素只能是矩形形状的。当我们需要计算一个块级元素的整体尺寸时,需要同时把内容区域(content area)[注释1]的长宽,连同此元素的外边距,🐓内边距,以及边框都计算在内
[注释1]:此文章中频繁提到content 和content area这两个概念,虽然从字面上都可以理解为盒子ꦗ中的内容区域(content),但从后文的叙述来看,这两个概念还是有区别的,到这篇文章发布为止,我还是对这两者的区别有迷惑,希望有兴趣阅读原文的朋友能留言告诉我这两者的区别,以便于我更正文中的错误。
我ꦚ们可以通过声明宽和高来定义一个元素的内容(contentജ)的宽度和高度。如果没有做任何的声明,宽度和高度的默认值将是自动(auto)
w3schools上对于盒子模型的图示如下

在图的下方有一段很重要的话Important: When you specifythe width and height properties of an element with CSS, you are just settingthe width and height of the content area.也就是说当我们在css中设计一个块级元素的width和height属性时比如.box{width :100px; height:100px}时,其中的width 和height仅仅是对content部分设置的,即定义上图中p൩adding下虚线方框内区域的长和宽。而不是内容,内边距,边框的总和(但在IE的早期版本包括IE6中,盒子模型的width和height却恰恰是这样定义的,尽管符合人们思考的逻辑,但是不符合规范,这会造成严重的问题)
对宽度为自动状态的静态(static)定位元素(即无定位),和相对定位(relatively positioned)元素来说,计算宽度的方法是,将他们包含块(containin𝓰g block)[注释2]的宽度♑减去此元素的横向的所有外边距,内边距,边框,滚动条。也就是说,从包含块的宽度中除去元素的横向外边距,内边距,边框,滚动条(如果存在的话)的宽度,所剩的值就是了。
[注释2]:包含块(containing block)。如果你知道绝对定位和相对定位𒊎的实现原理的话,这个注释可以忽略。包含块可以理解为一个矩形,而这个矩形的作用是为它里面包含的元素提供一个参考,内部元素的尺寸和位置的计算往往是由该元素所在的包含块决定的。例如在绝对定位中,距离它最近的已定位(position为fixed,relative或absolute)的祖先元素即为包含块。这算比较初级的概念,不深究,请百度。
包含块的定位属性和尺寸被作为后代元素定位和尺寸计算的参考。尽管元素的定位必须遵从与他们的块级元素来进行定位,但是他们也非受限于它。后代的元素也可以溢出包含块。在大多数情况下, generated boxes[注释3]通常扮演着子代元ꦅ素包含块的角色。想要充分了解包含块的大量细节信息请点击ContainingBlock。
近期更新
- [2023-07-26 14:17:28] 加拿大预测网-在线预测:为品牌赋能,海外官网品牌数字化
- [2023-05-06 10:32:26] 加拿大🐈预测网-在线预测:青岛网站建设公司,高端网站定制,一站式网站服务——力图数ไ字科技
- [2023-04-27 13:47:54] 加拿大预测网-在线预测:高端定制网站建设——从满足预期到走向卓越
- [2023-04-11 09:17:49] 加拿大预测网-在线预测:H5页面设计开发——移动端传播利器
- [2022-11-16 10:11:43] 加拿大预测网-在线预测:windows2012程序在哪
- [2022-04-14 11:01:47] 加拿大预测网-在线预测:力图数字科技配套网站服务支持
- [2021-05-18 10:14:11] 加拿大预测网-在线预测:青岛网站建设的流程
- [2021-04-29 10:14:38] 加拿大预测网-在线预测:企业定制化官网建设项目
- [2021-03-05 10:34:45] 加拿大预测网-在线预测:移动互联时代房地产行业的微信小程序解决方案
- [2021-01-22 17:29:38] 加拿大预测网-在线预测:微信小程序有哪些优势?为什么要开发微信小程序?
- [2021-01-08 17:28:04] 加拿大预测网-在线预测:网站建设最容易忽略的人性化设计
- [2020-12-16 16:55:32] 加拿大预测网-在线预测:建设一个常规的公司网站建设成本大概是多少?
延伸阅读
- [2016-11-01 11:42:00] 加拿大预测网-在线预测:为什么要使用DIV+CSS来设计、制作网站?
- [2014-10-26 09:01:35] 加拿大预测网-在线预测:css基本知识与基本语法
- [2013-12-30 12:09:23] 加拿大预测网-在线预测:图片宽度自适应 如何通过css控制
- [2016-10-12 14:26:00] 加拿大预测网-在线预测:DIV+CSS建设网站有哪些好处?
- [2013-12-31 12:30:29] 加拿大预测网-在线预测:div圆角和阴影以及鼠标放上去白色图层渐变CSS控制
- [2018-05-27 23:11:02] 加拿大预测网-在线预测:IIS7.5(经典模式)静态资源(.css和.js文件)提示:未能执꧃行 𒈔URL
- [2015-11-17 15:16:13] 加拿大预测网-在线预测:响应式HTML5/CSS3网站模板
- [2009-04-14 11:20:00] 加拿大预测网-在线预测:网站设计趋势:立体盒子
- [2009-02-28 15:14:00] 加拿大预测网-在线预测:软件设计中的现实模型
- [2013-11-10 17:33:01] 加拿大预测网-在线预测:CSS3在网页上的应用效果与发展趋势
- [2009-02-27 08:51:00] 加拿大预测网-在线预测:心理模型的若干讨论
- [2019-08-05 10:00:45] 加拿大预测网-在线预测:在浏览器中修改网页
解决方案
加拿大预测网-在线预测: 轮胎行业网站设计解决方案 加拿大预测网-在线预测: 机械行业网站设计解决方案 加拿大预测网-在线预测: 房地产行业网站设计解决方案 加拿大预测网-在线预测: 科技企业网站设计解决方案 加拿大预测网-在线预测: 电子家电网站设计解决方案 加拿大预测网-在线预测: 食品行业网站设计解决方案 加拿大预测网-在线预测: 集团公司网站设计解决方案 加拿大预测网-在线预测: 企事业单位网站设计解决方案 加拿大预测网-在线预测: 外贸行业网站设计解决方案 加拿大预测网-在线预测: 健身运动网站设计解决方案 加拿大预测网-在线预测: 美容与化妆品网站设计解决方案 加拿大预测网-在线预测: 建筑设计行业网站设计解决方案 加拿大预测网-在线预测: 物流行业网站设计解决方案