前端基础——CSS盒子模型

简介: 现在许多网页都是由许多个“盒子”拼接、嵌套而成,所以多少接触过网页设计的朋友一定都对CSS盒子模型有所了解。 为了更好的说明,先举个通俗的例子:在一个仓库中放了10个纸箱,每个纸箱之间有一定距离,每个纸箱内放的是一台电脑并且纸箱和电脑之间都有一层泡沫来隔绝防震(这里假设纸箱和电脑都是正方体),以这个例子为背景接着说盒子模型。

      现在许多网页都是由许多个“盒子”拼接、嵌套而成,所以多少接触过网页设计的朋友一定都对CSS盒子模型有所了解。


      为了更好的说明,先举个通俗的例子:在一个仓库中放了10个纸箱,每个纸箱之间有一定距离,每个纸箱内放的是一台电脑并且纸箱和电脑之间都有一层泡沫来隔绝防震(这里假设纸箱和电脑都是正方体),以这个例子为背景接着说盒子模型。


      其实一张图片就可以把CSS盒子模型形象地表述出来,网上一搜一大堆:


17.png

      正如上图所示:CSS中的盒子模型通常由四部分组成:内容(content)、填充(padding)、边框(border)、边界(margin)。


      这里的内容就相当于箱子里的电脑,填充就相当于泡沫,边框就相当于纸箱,边界就相当于每个纸箱之间的距离。


         对这四部分进行说明:


         内容(content):盒子模型中的内容,可以是文字、图片、表格等等;


         填充(padding):内容与盒子边框的距离,可拆分为padding-top;padding-right;padding-bottom;padding-left;


         边框(border):盒子的边框,可拆分为border-top;border-right;border-bottom;border-left;


         边界(margin):盒子与其他相邻元素之间的距离,可拆分为margin-top;margin-right;margin-bottom;margin-left;


         如下图:


18.png

      图中需要注意的是,虚线部分表示的是该“盒子”中存放的内容的宽度(width)和高度(height),也就是上例箱子中电脑的宽度和高度。


      通常情况下可以设置填充和边界四个方向的宽度(即厚度),对边框的设置有样式(style)、颜色(color)、宽度(width)几个属性。


      在CSS中,认为网页中的所有元素都包装在一个矩形盒子中,比如常用的div、span、ul、li、img、table等,都可以在CSS中对它们的内容(content)、填充(padding)、边框(border)和边界(margin)进行格式化。


     


      如果一个盒子的margin为30px,border为5px,padding为20,width为240,height为160px,那么这个盒子实际上占用的空间为  宽:(30+5+20)×2+240=350px,高(30+5+20)×2+160 =270px


19.png


      以往的网页都是用表格来布局,但是表格布局有很多缺点,限于篇幅,下篇将介绍易于控制和互动的CSS+DIV布局方式。

相关文章
|
2月前
|
前端开发
如何设置 CSS 盒子模型的边框样式?
CSS盒子模型的边框样式可以通过`border`属性设置,包括边框宽度、样式和颜色。例如:`border: 2px solid red;` 设置了2像素宽的红色实线边框。也可分别设置四边,如`border-top`、`border-right`等。
|
2月前
|
前端开发 开发者
css两种盒子模型
在CSS中,有两种盒子模型:标准盒子模型和IE盒子模型(怪异盒子模型)。标准盒子模型中,`width`和`height`仅指内容区的尺寸,总宽度和高度还包括内边距、边框和外边距。IE盒子模型中,`width`和`height`包括内容区、内边距和边框,总宽度和高度仅加外边距。通过`box-sizing`属性可以切换这两种模型,`box-sizing: content-box;`表示标准盒子模型,`box-sizing: border-box;`表示IE盒子模型。
|
2月前
|
前端开发 容器
给 CSS 盒子模型添加边框时,需要注意什么?
在给CSS盒子模型添加边框时,需要注意边框的宽度、样式和颜色,以及它如何影响盒子的总尺寸和布局。边框会增加盒子的总宽度和高度,可能需要调整其他属性以保持布局的完整性。
|
14天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
27 6
|
26天前
|
前端开发
CSS 盒子模型
CSS 盒子模型
24 4
|
1月前
|
Web App开发 前端开发 JavaScript
揭秘!前端大牛们如何巧妙利用CSS3,打造炫酷视觉效果!
【10月更文挑战第31天】前端开发面临复杂布局的挑战,本文介绍了几种提升开发效率和代码质量的工具和技术。基础的HTML和CSS可以应对大部分布局需求,而Firefox开发者工具、VS Code、Vue、React等则能应对更复杂的布局,帮助开发者构建高性能、用户友好的网页应用。
27 4
|
2月前
|
前端开发 JavaScript
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
217 1
|
2月前
|
前端开发
彻底搞懂css盒子模型
【10月更文挑战第1天】
60 9
|
2月前
|
前端开发 容器
前端技术分享:利用CSS Grid布局实现响应式设计
【10月更文挑战第1天】前端技术分享:利用CSS Grid布局实现响应式设计
|
2月前
|
前端开发 JavaScript 容器
前端之CSS基础知识
前端之CSS基础知识
17 0