浏览器盒子模型

码影逐风
• 阅读 659

在浏览器中,盒模型主要有两种:标准盒模型和IE盒模型。

  1. 标准盒模型:在标准盒模型中,元素的宽度和高度只包括 content 的大小,不包括 border 和 padding。
  2. IE盒模型:在IE盒模型中,元素的宽度和高度包括 content、padding 和 border。

对于使用标准盒模型的元素,可以通过设置 width 和 height 属性来控制 content 的大小,而 padding 和 border 则会增加元素的总宽度和高度。例如:

div {
  width: 200px; /* content 宽度为200px */
  height: 100px; /* content 高度为100px */
  padding: 20px; /* 上下左右的 padding 均为20px */
  border: 1px solid black; /* 边框为1px黑色实线 */
}

对于使用IE盒模型的元素,可以通过设置 width 属性来控制 content、padding 和 border 的总宽度,而 height 则控制了 content、padding 和 border 的总高度。例如:

div {
  width: 200px; /* 内容宽度为200px,但总宽度应为 content + padding + border = 200 + 2*20 + 2*1 = 242px */
  height: 100px; /* 内容高度为100px,但总高度应为 content + padding + border = 100 + 2*20 + 2*1 = 142px */
  padding: 20px; /* 上下左右的 padding 均为20px */
  border: 1px solid black; /* 边框为1px黑色实线 */
  box-sizing: border-box; /* 将盒模型设置为IE盒模型 */
}

总之,通过控制盒模型的属性,可以实现对元素的宽度、高度、内外边距和边框样式的控制。

antd框架使用的是CSS的盒子模型,包括了content、padding、border和margin等内容。而在默认情况下,antd组件的宽度应该是包括了padding的值的。这意味着,如果你设置一个antd组件的宽度为300px,那么元素内容的宽度可能会小于300px,因为该组件的padding值也占用了一部分空间。

如果你想要获得一个不包含padding的宽度值,可以使用box-sizing属性。box-sizing属性用于定义元素的盒模型,可以使用以下两种值之一:

  • content-box:元素的宽度和高度仅包括元素内容的尺寸,不包括padding、border和margin。
  • border-box:元素的宽度和高度包括元素内容、padding和border的尺寸,但不包括margin。

antd使用的是CSS的盒子模型,默认情况下宽度(width)和高度(height)属性指定的是content区域的尺寸。但是,antd的宽度包括padding和border,但不包括margin。这意味着如果你将一个antd组件的宽度设置为300px,实际上整个宽度可能会大于300px,因为padding和border的尺寸也会被计算在内。

例如,对于Input组件,如果您设置其宽度为300px,则元素实际的宽度可能会是300px + 左右padding值 + 左右border值。如果您需要包括所有盒子模型尺寸,可以使用CSS的box-sizing属性设置盒子模型的类型。可以设置如下两个属性值:

  • content-box:内容框的尺寸应用于元素的宽度和高度。如果设置宽度为300px,那么其实只包含了元素的内容,不包括padding和border。
  • border-box:整个盒子模型的尺寸应用于元素的宽度和高度。如果设置宽度为300px,那么整个盒子模型的尺寸,包括padding和border值,都将作为这个宽度的一部分。

在antd中,大多数组件的box-sizing属性值都是border-box。如果您想更改它们的box-sizing属性值,可以写自定义样式覆盖默认样式达到目的。

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
晴空闲云 晴空闲云
3年前
css中box-sizing解放盒子实际宽高计算
我们知道传统的盒子模型,如果增加内边距padding和边框border,那么会撑大整个盒子,造成盒子的宽度不好计算,在实务中特别不方便。boxsizing可以设置盒模型的方式,可以很好的设置固定宽高的盒模型。盒子宽高计算假如我们设置如下盒子:宽度和高度均为200px,那么这会这个盒子实际的宽高就都是200px。但是当我们设置这个盒子的边框和内间距的时候,那
菜园前端 菜园前端
2年前
你真的了解的CSS3盒模型和CSS3特性知识吗
原文链接:什么是CSS3?CSS3是CSS一个新的标准,直接理解为是CSS的升级版,里面新增了很多样式(特性)。CSS3盒子模型:::warningCSS3盒子模型必须要掌握,否则你在实际开发中遇到样式错乱很难排查问题。:::旧版的IE浏览器与其它浏览器解
Wesley13 Wesley13
4年前
Vtiger CRM 几处SQL注入漏洞分析,测试工程师可借鉴
本文由云社区发表0x00前言干白盒审计有小半年了,大部分是业务上的代码,逻辑的复杂度和功能模块结构都比较简单,干久了收获也就一般,有机会接触一个成熟的产品(vtigerCRM)进行白盒审计,从审计的技术难度上来说,都比公司内的那些业务复杂得多,而真正要提高自己技术水平,更应该看的也是这些代码。vtigerCRM是一个客
Wesley13 Wesley13
4年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
4年前
HTML前端开发之路——弹性盒模型
弹性盒模型(FlexibleBox)是一个CSS3新增布局模块,用于实现容器里项目的对齐、方向、排序;弹性盒模型最大的特效在于,能够动态的修改子元素的宽度和高度,以满足在不同尺寸屏幕下的恰当布局;下面是弹性盒模型的元素基本概念:!(http://static.oschina.net/uploads/space/2016/0212/210
Stella981 Stella981
4年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Python进阶者 Python进阶者
2年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
linbojue linbojue
2星期前
box-sizing: border-box 详解
🎯核心作用boxsizing:borderbox改变了CSS盒模型的计算方式,让元素的宽度和高度包含内边距(padding)和边框(border),而不是仅仅内容区域。📊盒模型对比默认盒模型(contentbox)css体验AI代码助手代码解读复制代码
码影逐风
码影逐风
Lv1
扁舟坐泊,危亭孤啸,目断闲云千里。
文章
3
粉丝
0
获赞
0