【重识 HTML + CSS】定位

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

normal flow 一般可以被称为标准流常规流正常流文档流 (document flow)

默认情况下,元素都是按照 normal flow 进行定位:

  • 从上到下、从左到右按顺序摆放好

  • 默认情况下,互相之间不存在层叠现象

在这里插入图片描述

示例代码:标准流


margin、padding 定位:

  • 在标准流中,可以使用 margin、padding 对元素进行定位(其中 margin 还可以设置负数)

  • 比较明显的缺点是:

设置一个元素的 margin 或者 padding,通常会影响到标准流中其他元素的定位效果

不便于实现元素层叠的效果

CSS 属性 - position

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

在这里插入图片描述

利用 position 可以对元素进行定位,常用取值有 4 个:

  • static静态定位

  • relative相对定位

  • absolute绝对定位

  • fixed固定定位

relative - 相对定位


元素按照 normal flow 布局:

  • 可以通过 left、right、top、bottom 进行定位

  • 定位参照对象是元素自己原来的位置

left、right、top、bottom 用来设置元素的具体位置,对元素的作用如下图所示:

在这里插入图片描述

相对定位的应用场景:在不影响其他元素位置的前提下,对当前元素位置进行微调


在这里插入图片描述

实现代码:relative-练习-01


在这里插入图片描述

实现代码:relative-练习-02

static - 静态定位


  • static 是 position 属性的默认值

  • 元素按照 normal flow 布局(没有脱标)

  • left 、right、top、bottom 没有任何作用

示例代码:relative

fixed - 固定定位


  • 元素脱离 normal flow(脱离标准流、脱标

  • 可以通过left、right、top、bottom进行定位

定位参照对象是 视口(viewport)

  • 当画布滚动时,固定不动

示例代码:fixed

画布 (Canvas) 和视口 (Viewport)

视口 (Viewport)

  • 文档的可视区域

  • 如右图红框所示

画布 (Canvas)

  • 用于渲染文档的区域

  • 文档内容超出视口范围,可以通过滚动查看

在这里插入图片描述

宽高对比:画布 >= 视口

脱标元素的特点

  • 可以随意设置宽高

  • 宽高默认由内容决定

  • 不再受标准流的约束

不再严格按照从上到下、从左到右排布

不再严格区分块级、行内级,块级、行内级的很多特性都会消失

  • 不再给父元素汇报宽高数据

  • 脱标元素内部默认还是按照标准流布局

示例代码:脱标元素_01脱标元素_02


在这里插入图片描述

实现代码:fixed-练习

absolute - 绝对定位


  • 元素脱离 normal flow(脱离标准流、脱标)

  • 可以通过 left、right、top、bottom 进行定位

定位参照对象是最邻近的定位祖先元素

如果找不到这样的祖先元素,参照对象是视口

定位元素 (positioned element):position 不为 static 的元素,即 position 值为 relative、absolute、fixed 的元素

示例代码:absoluteabsolute_技巧

子绝父相


在绝大数情况下,子元素的绝对定位都是相对于父元素进行定位

如果希望子元素相对于父元素进行定位,又不希望父元素脱标,常用解决方案是:

  • 父元素设置 position: relative(让父元素成为定位元素,而且父元素不脱离标准流)

子元素设置 position: absolute

  • 简称为 “子绝父相

示例代码:子绝父相

练习 - 蒙版


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

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

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

img

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

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

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

最后

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

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

前端视频资料:
最后

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

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

[外链图片转存中…(img-wfsILkIo-1713636139906)]

前端视频资料:

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值