CSS-盒子模型(1)

本文详细解释了border、padding和margin在HTML和CSS盒子模型中的作用,包括它们的环形结构、控制内容位置的方法以及负值的限制。作者强调了理解这些概念对前端开发的重要性。
摘要由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%以上前端开发知识点,真正体系化!

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

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

核心竞争力,怎么才能提高呢?

成年人想要改变生活,逆转状态?那就开始学习吧~

万事开头难,但是程序员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。

为了帮助大家更好更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。

前端面试题汇总

JavaScript

性能

linux

前端资料汇总

完整版PDF资料免费分享,只需你点赞支持,动动手指点击此处就可领取了

前端工程师岗位缺口一直很大,符合岗位要求的人越来越少,所以学习前端的小伙伴要注意了,一定要把技能学到扎实,做有含金量的项目,这样在找工作的时候无论遇到什么情况,问题都不会大。

log.csdnimg.cn/img_convert/ed368cc25284edda453a4c6cb49916ef.png)

前端资料汇总

完整版PDF资料免费分享,只需你点赞支持,动动手指点击此处就可领取了

前端工程师岗位缺口一直很大,符合岗位要求的人越来越少,所以学习前端的小伙伴要注意了,一定要把技能学到扎实,做有含金量的项目,这样在找工作的时候无论遇到什么情况,问题都不会大。

  • 18
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值