css基础一:说说你对CSS盒子模型的理解?

news/2024/11/18 6:47:02/

在这里插入图片描述
一、是什么

当对一个文档进行布局(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

在这里插入图片描述


http://www.ppmy.cn/news/300568.html

相关文章

[openEuler 21.9] 安装中文输入法、以及字体变成繁体切换

1.确认系统是否支持中文。&#xff08;euler默认支持中文&#xff09; 2.安装中文输入法 注&#xff1a;如果安装系统时语言设置的中文就只需要安装中文输入法就行。输入法框架不同&#xff0c;安装的输入法也不一样&#xff0c;Euler默认的是ibus输入法框架 安装ibus 中文输…

Mac 自带 输入法 无法打出 一些汉字 生僻字 的问题,解决办法。

问题&#xff1a; 我的同事名字 是翀&#xff08;chong&#xff09;&#xff0c;我用Mac 死活打不出来这个字。 原因&#xff1a; Mac 自带输入法默认不显示繁体字和生僻字。 解决方法&#xff1a; 1.打开显示繁体字符及生僻字符 打开「系统偏好设置」-「键盘」-「输入法…

试用各种五笔输入法

评价标准: 1,一定要中文拼音混杂,为什么,有些字记不着呀.不要拼音如何在记不住的情况下打.对不对. 2,98版的没有86版的好.98版的虽然新,可能更好,但大家都用惯了86版的,怎么办?,就问你怎么办?就像现在的键盘布局一样,你再怎么改,有什么用,都用惯了.这就是惯性的力量. 3,界面好…

中州韵输入法 linux 小鹤双拼,‎App Store 上的“iRime输入法-小鹤双拼五笔郑码输入法”...

好评如潮&#xff1a; 自从用了iRime&#xff0c;就再也没用过别的&#xff01;&#xff01; 5 Reply by 想念一座城 – Apr 17, 2019 非常好用的输入法平台&#xff0c;因为我用的输入法是比较小众的方案&#xff0c;电脑上还好办&#xff0c;手机上如果不是有iRime&#xff0…

RIME输入法 实现简体中文输入,简体繁体多个提示

平常输入简体或正體 都得在两者间切换 非常不方便 故此&#xff0c;在RIME輸入法的基础上&#xff0c;将简体词库进行擴充 .dict.yaml 的文件为字典文件&#xff0c;输入的字母与相应的文字符号进行映射 RIME 的使用及配置自行搜索即可 即&#xff1a; 简 体存在的情况下&am…

linux mint 17 输入法,LinuxMint17.1 Rebecca中安装设置输入法

LinuxMint14使用了几年一直未更新&#xff0c;突然想去更新一下去发现源已经不支持了&#xff0c;所以就直接安装了最新版本。 安装好以后发现还是跟以前一样的毛病&#xff0c;没有中文输入法&#xff0c;直接sudo aptitude install fcitx* 发现仍然不行。运行im-config设定FC…

调整计算机繁体,在线繁体转换

路由器之家网今天精心准备的是《在线繁体转换》&#xff0c;下面是详解&#xff01; word文档中繁体字怎么转换为简体字&#xff1f; word文档中繁体字怎么转换为简体字&#xff1f;网上查了说工具栏里有繁体字转简体字&#xff0c;找了半天没找着。问题就是中文简繁转换找不到…

linux下哪个输入法最好,[最好]linux下输入法→linux下输入法

万能五笔输入法字根简化版 [最好]linux下输入法→linux下输入法【独创智能字根】 [最好]linux下输入法→linux下输入法还在为打字慢发愁? [最好]linux下输入法→linux下输入法五笔有那么难吗? [最好]linux下输入法→linux下输入法本软件独创智能字根法 [最好]linux下输入法→…