HTML中任何一个标签都可以看成是一个盒子
盒子模型
====
盒子模型组成
content 内容区
padding 内边距
border 边框线
margin 外边距
四个区域组成了盒子模型
四大区域理解
对于content区理解
- 什么是content?
被嵌套的元素,就是其父级元素的content
- 哪些元素可以作为content?
当前HTML元素可以分为:
块级元素,行级元素,行内块元素,普通文本(可变元素暂不考虑)
当前HTML嵌套情况分为:
块嵌行,块嵌块,块嵌行内块,块嵌文本
行嵌行,行嵌文本
所以块级元素,行级元素,行内块元素,普通文本都可以是content。
- content在盒子模型中的设定
就是一个矩形区域
- content的宽高可以是负数吗?
不可以,一个矩形的宽高没有负数概念
对于border区的理解
什么是border?
border就是元素的边框线
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。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
你要问前端开发难不难,我就得说计算机领域里常说的一句话,这句话就是『难的不会,会的不难』,对于不熟悉某领域技术的人来说,因为不了解所以产生神秘感,神秘感就会让人感觉很难,也就是『难的不会』;当学会这项技术之后,知道什么什么技术能做到什么做不到,只是做起来花多少时间的问题而已,没啥难的,所以就是『会的不难』。
我特地针对初学者整理一套前端学习资料,免费分享给大家,戳这里即可免费领取
你要问前端开发难不难,我就得说计算机领域里常说的一句话,这句话就是『难的不会,会的不难』,对于不熟悉某领域技术的人来说,因为不了解所以产生神秘感,神秘感就会让人感觉很难,也就是『难的不会』;当学会这项技术之后,知道什么什么技术能做到什么做不到,只是做起来花多少时间的问题而已,没啥难的,所以就是『会的不难』。
我特地针对初学者整理一套前端学习资料,免费分享给大家,戳这里即可免费领取
[外链图片转存中…(img-BN6Dilmx-1713474964027)]