CSS-盒子模型(1)

本文详细解释了CSS盒子模型中border、padding和margin的概念、设置方式以及它们在控制元素布局中的作用。重点强调了它们的环形特性、线性表示以及对content区域的影响,包括负数应用和视觉感知上的区别。
摘要由CSDN通过智能技术生成

border在盒子模型中的设定

是一个环型,也是一个线型。

环型表示border无法像content一样用宽高描述,它只能分为上(top)、下(bottom)、左(left)、右(right)四部分。

但是border又是一个线型,所以它的四条边只能表示粗细,且需要保持大小一致。

border的边是区分内外的

border的四条边是区分内外的。主要是用来给margin和padding用。

padding是,content和border内边的距离。

margin是,其他元素border外边和本元素border外边的距离。

border是元素的盒子模型中最外层区域吗?

不是,在border区外面,还有margin区

对于padding区理解

============

什么是padding

简称:内边距

即content和border四边(内边)的距离。

padding在盒子模型中的设定

是一个环型。

环型表示padding无法像content一样用宽高描述,它只能分为上(top)、下(bottom)、左(left)、右(right)四部分。

但是padding又和border不同,因为padding的四部分不能称为边,因为这四部分主要是用来控制content在border内的位置。

padding对于content位置控制的理解

padding控制content的位置,是相对于border四条边的位置。

一般用样式属性:

padding-top                控制content和border top边间的距离

padding-bottom           控制content和border bottom边的距离

padding-left                控制content和border left边的距离

padding-right                控制content和border right边的距离

padding的概念虽然是距离,如果以0为基准的话,距离也可以看成移动。

如果将content相对于border的初始水平位置看成是0px,那么比如padding-left:30px,就可以看成content相对于border从0px,水平向右移动了30px。

体现为反语义移动,即padding-left 是向右移动,padding-top是向下移动

padding的增大,会导致整个元素的直观感受增大

为什么叫直观感受呢?

主要是对比margin增大,其实margin增大,也会导致元素增大,因为margin也是盒子模型一部分。但是由于margin在border外面,所以margin增大,不会影响border区内部增大,而padding区在border内部,所以padding区增大会导致border区内增大。在网页上直观感受就是元素变大了。

上图中box1,box2的盒子模型宽度,其实都是400px

padding可以是负数吗?

前面content,border的宽高,粗细不能为负数,因为这些东西物理上不存在负数概念。

但是padding的概念是距离,如果以0为基准的话,距离也可以看成移动。

如果将content相对于border的初始水平位置看成是0px,那么比如padding-left:30px,就可以看成content相对于border从0px,水平向右移动了30px。

同理padding-left:-30px,可以看成是content相对于border从0px,水平向左移动了30px。

但是我们知道content区是不能超出border区的,而padding-left:-30px会让content逃离border区,所以padding不允许负数。

对于margin的理解

什么是margin

简称外边距

即 本元素border外边  和  【父元素,兄弟元素】的border外边 的距离

margin在盒子模型中的设定

是一个环型。

环型表示margin无法像content一样用宽高描述,它只能分为上(top)、下(bottom)、左(left)、右(right)四部分。

margin和padding的相同点

margin和padding的增大都会导致元素整体增大,只是padding在border区内体现更直观。

margin和padding都可以通过控制自身大小,来改变内部区域位置。

如padding改变,就会导致本元素content相对于本元素border位置改变

margin改变,会导致本元素border区相对于其他元素的border区位置改变

margin和padding的不同点

改变位置的参照物不同

margin改变的是本元素相对于其他元素的位置

padding改变的是本元素内部content相对本元素的位置

margin对于元素的位置控制

一般用如下样式属性:

margin-top                相对于父元素、兄弟元素的border top边的距离

margin-bottom          相对于父元素、兄弟元素的border bottom边的距离

margin-left                相对于父元素、兄弟元素的border left边的距离

margin-right              相对于父元素、兄弟元素的border right边的距离

和padding一样,这些属性虽然概念是距离,但是也可以看成是移动,且体现为反向移动。

margin-top:20px  表现为相对于父元素,兄弟元素的border top边,垂直向下移动20px

margin可以是负数吗?

前面的padding不能是负数,原因是会导致content逃离border区。

盒子模型规定了content必须在border内。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是附赠给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等

详细大厂面试题答案、学习笔记、学习视频等资料领取,点击资料领取直通车免费领取!

前端视频资料:
最后

本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是附赠给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等

详细大厂面试题答案、学习笔记、学习视频等资料领取,点击资料领取直通车免费领取!

[外链图片转存中…(img-vVjOJQ5u-1713474895728)]

前端视频资料:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值