CSS基础框盒模型:打造炙手可热的网页布局!

简介: 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚开始学习前端的读者们打造的。无论你是初学者还是有一些基础的开发者,我们都会在这里为你提供一个系统而又亲切的学习平台。我们以问答形式更新,为大家呈现精选的前端知识点和最佳实践。通过深入浅出的解释概念,并提供实际案例和练习,让你逐步建立起一个扎实的基础。无论是HTML、CSS、JavaScript还是最新的前端框架和工具,我们都将为你提供丰富的内容和实用技巧,帮助你更好地理解并运用前端开发中的各种技术。———————————————— 版权声明:本文为博主原创文

⭐  专栏简介

       欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚开始学习前端的读者们打造的。无论你是初学者还是有一些基础的开发者,我们都会在这里为你提供一个系统而又亲切的学习平台。我们以问答形式更新,为大家呈现精选的前端知识点和最佳实践。通过深入浅出的解释概念,并提供实际案例和练习,让你逐步建立起一个扎实的基础。无论是HTML、CSS、JavaScript还是最新的前端框架和工具,我们都将为你提供丰富的内容和实用技巧,帮助你更好地理解并运用前端开发中的各种技术。



       同时,我们也会关注最新的前端趋势和发展动态。随着Web技术的不断演进,前端开发也在不断推陈出新。我们会及时介绍最新的前端框架、工具和技术,使你能够站在前沿,与时俱进。通过掌握最新的前端技术,你将能够在竞争激烈的Web开发领域中有更大的竞争力。



📘  文章引言


一、是什么


当对一个文档进行布局(layout)的时候,浏览器的渲染引擎会根据标准之一的 CSS 基础框盒模型(CSS basic box model),将所有元素表示为一个个矩形的盒子(box)


一个盒子由四个部分组成:content、padding、border、margin




content,即实际内容,显示文本和图像


boreder,即边框,围绕元素内容的内边距的一条或多条线,由粗细、样式、颜色三部分组成


padding,即内边距,清除内容周围的区域,内边距是透明的,取值不能为负,受盒子的background属性影响


margin,即外边距,在元素外创建额外的空白,空白通常指不能放其他元素的区域


下面来段代码:

<style>
  .box {
    width: 200px;
    height: 100px;
    padding: 20px;
  }
</style>
<div class="box">


 盒子模型

</div>

当我们在浏览器查看元素时,却发现元素的大小变成了240px


这是因为,在CSS中,盒子模型可以分成:


W3C 标准盒子模型

IE 怪异盒子模型

默认情况下,盒子模型为W3C 标准盒子模型


二、标准盒子模型


标准盒子模型,是浏览器默认的盒子模型


下面看看标准盒子模型的模型图:



从上图可以看到:


盒子总宽度 = width + padding + border + margin;


盒子总高度 = height + padding + border + margin


也就是,width/height 只是内容高度,不包含 padding 和 border 值


所以上面问题中,设置width为200px,但由于存在padding,但实际上盒子的宽度有240px


三、IE 怪异盒子模型


同样看看IE 怪异盒子模型的模型图:


盒子总宽度 = width + margin;


盒子总高度 = height + margin;


也就是,width/height 包含了 padding 和 border 值


Box-sizing

CSS 中的 box-sizing 属性定义了引擎应该如何计算一个元素的总宽度和总高度


语法:

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

content-box 默认值,元素的 width/height 不包含padding,border,与标准盒子模型表现一致

border-box 元素的 width/height 包含 padding,border,与怪异盒子模型表现一致

inherit 指定 box-sizing 属性的值,应该从父元素继承

回到上面的例子里,设置盒子为 border-box 模型

<style>
  .box {
    width: 200px;
    height: 100px;
    padding: 20px;
    box-sizing: border-box;
  }
</style>
<div class="box">


 盒子模型

</div>

这时候,就可以发现盒子的所占据的宽度为200px



⭐  写在最后


请大家不吝赐教,在下方评论或者私信我,十分感谢🙏🙏🙏.


✅ 认为我某个部分的设计过于繁琐,有更加简单或者更高逼格的封装方式


✅ 认为我部分代码过于老旧,可以提供新的API或最新语法


✅ 对于文章中部分内容不理解


✅ 解答我文章中一些疑问


✅ 认为某些交互,功能需要优化,发现BUG


✅ 想要添加新功能,对于整体的设计,外观有更好的建议


最后感谢各位的耐心观看,既然都到这了,点个 👍赞再走吧!


相关文章
|
4天前
|
前端开发 开发者 UED
解锁网页布局的秘密武器:探索 CSS Grid 布局的神奇魔力
解锁网页布局的秘密武器:探索 CSS Grid 布局的神奇魔力
13 3
|
2月前
|
前端开发
CSS语言的盒模型
CSS语言的盒模型
|
4月前
|
前端开发 JavaScript Java
【面试题】面试官:说说你对 CSS 盒模型的理解
【面试题】面试官:说说你对 CSS 盒模型的理解
|
5月前
|
前端开发
【前端|CSS系列第3篇】CSS盒模型、浮动及定位
【前端|CSS系列第3篇】CSS盒模型、浮动及定位
|
15天前
|
前端开发 容器
CSS3属性详解(一)文本 盒模型中的 box-ssize 属性 处理兼容性问题:私有前缀 边框 背景属性 渐变 前端开发入门笔记(七)
CSS3属性详解(一)文本 盒模型中的 box-ssize 属性 处理兼容性问题:私有前缀 边框 背景属性 渐变 前端开发入门笔记(七)
27 2
|
26天前
|
前端开发 开发者
CSS面试考点:盒模型、选择器、单位和像素概念
【4月更文挑战第2天】 CSS面试考点:盒模型、选择器、单位和像素概念
26 12
N..
|
2月前
|
前端开发 容器
DIV+CSS网页布局
DIV+CSS网页布局
N..
8 0
N..
|
2月前
|
前端开发 容器
CSS 网页布局元素
CSS 网页布局元素
N..
23 1
|
2月前
|
前端开发 JavaScript 开发者
编程笔记 html5&css&js 014 网页布局框架
编程笔记 html5&css&js 014 网页布局框架
|
3月前
|
Web App开发 存储 前端开发
【JavaEE初阶】 CSS相关属性,元素显示模式,盒模型,弹性布局,Chrome 调试工具||相关讲解
【JavaEE初阶】 CSS相关属性,元素显示模式,盒模型,弹性布局,Chrome 调试工具||相关讲解