====================================================================================
normal flow 一般可以被称为标准流、常规流、正常流、文档流 (document flow)
默认情况下,元素都是按照 normal flow 进行定位:
-
从上到下、从左到右按顺序摆放好
-
默认情况下,互相之间不存在层叠现象
示例代码:标准流
margin、padding 定位:
-
在标准流中,可以使用 margin、padding 对元素进行定位(其中 margin 还可以设置负数)
-
比较明显的缺点是:
设置一个元素的 margin 或者 padding,通常会影响到标准流中其他元素的定位效果
不便于实现元素层叠的效果
====================================================================================
利用 position 可以对元素进行定位,常用取值有 4 个:
-
static
:静态定位 -
relative
:相对定位 -
absolute
:绝对定位 -
fixed
:固定定位
元素按照 normal flow 布局:
-
可以通过 left、right、top、bottom 进行定位
-
定位参照对象是元素自己原来的位置
left、right、top、bottom 用来设置元素的具体位置,对元素的作用如下图所示:
相对定位的应用场景:在不影响其他元素位置的前提下,对当前元素位置进行微调
实现代码:relative-练习-01
实现代码:relative-练习-02
-
static 是 position 属性的默认值
-
元素按照 normal flow 布局(没有脱标)
-
left 、right、top、bottom 没有任何作用
示例代码:relative
-
元素脱离 normal flow(脱离标准流、脱标)
-
可以通过left、right、top、bottom进行定位
定位参照对象是 视口(viewport)
- 当画布滚动时,固定不动
示例代码:fixed
画布 (Canvas) 和视口 (Viewport)
视口 (Viewport)
-
文档的可视区域
-
如右图红框所示
画布 (Canvas)
-
用于渲染文档的区域
-
文档内容超出视口范围,可以通过滚动查看
宽高对比:画布 >= 视口
脱标元素的特点
-
可以随意设置宽高
-
宽高默认由内容决定
-
不再受标准流的约束
不再严格按照从上到下、从左到右排布
不再严格区分块级、行内级,块级、行内级的很多特性都会消失
-
不再给父元素汇报宽高数据
-
脱标元素内部默认还是按照标准流布局
实现代码:fixed-练习
-
元素脱离 normal flow(脱离标准流、脱标)
-
可以通过 left、right、top、bottom 进行定位
定位参照对象是最邻近的定位祖先元素;
如果找不到这样的祖先元素,参照对象是视口
定位元素 (positioned element):position 不为 static 的元素,即 position 值为 relative、absolute、fixed 的元素
示例代码:absolute、absolute_技巧
在绝大数情况下,子元素的绝对定位都是相对于父元素进行定位
如果希望子元素相对于父元素进行定位,又不希望父元素脱标,常用解决方案是:
- 父元素设置
position: relative
(让父元素成为定位元素,而且父元素不脱离标准流)
子元素设置 position: absolute
- 简称为 “子绝父相”
示例代码:子绝父相
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是附赠给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等
详细大厂面试题答案、学习笔记、学习视频等资料领取,点击资料领取直通车免费领取!
前端视频资料:
最后
本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是附赠给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等
详细大厂面试题答案、学习笔记、学习视频等资料领取,点击资料领取直通车免费领取!
[外链图片转存中…(img-wfsILkIo-1713636139906)]
前端视频资料: