跟着pink老师前端入门教程-day09

二十二、定位

22.1 为什么需要定位

1. 某个元素可以自由的在一个盒子内移动位置,并且压住其他盒子

2. 当我们滚动窗口时,盒子是固定屏幕某个位置的

解决方法:

1. 浮动可以让多个块级盒子一行没有缝隙排列显示,经常用于横向排列盒子

2. 定位则是可以让盒子自由的在某个盒子内移动位置或固定屏幕中某个位置,并且介意压住其他盒子。

22.2 定位组成

定位:将盒子在某一个置,所以定位也是在摆放盒子按照定位的方式移动盒子

定位=定位模式+边翩义

定位模式用于指定一个元素在文档中的定位方式,边偏移则决定了该元素的最终位置

2.1 定位模式

定位模式决定元素的定位方式,他通过CSS的position属性来设置,其值可以分为四个:

2.2 边偏移

边偏移就是定位的盒子移动到最终位置,有top、bottom、left和right4个属性

22.3 静态定位 static(了解)

静态定位是元素的默认定位方式,无定位的意思

语法:选择器 { position: static; }

注意

 静态定位按照标准流特性摆放位置,他没有边偏移

 静态定位在布局是很少用到

22.4 相对定位 relative(重要)

相对定位是元素在移动位置时,是相对于他原来的位置来说的。(自恋型)

语法:选择器 { position: relative; }

特点(记住)

1. 他是相对于自己原来的位置来移动的(移动位置时参照点是自己原来的位置)

2. 原来在标准流的位置继续占有,后面的盒子仍然以标准流的方式对待他

因此,相对定位并没有脱标,他是最典型的应用是给绝对定位当爹的。

22.5 绝对定位absolute(重要)

绝对定位是元素在移动位置时,是相对于他祖先元素来说的。(拼爹型)

语法:选择器 { position: absolute; }

特点(记住)

1. 如果没有祖先元素或者祖先元素没有定位,则以浏览器为准定位(Document文档)

2. 如果祖先元素有定位(相对、绝对、固定定位),则以最近一级的有定位祖先元素为参考点移动位置。

3. 绝对定位不再占有原先的位置。(脱标)

22.6 子绝父相的由来

子级是绝对定位的话,父级要用相对定位

① 子级绝对定位,不会占有位置,可以放到父盒子里面的任何一个地方,不会影响其他的兄弟盒子

② 父盒子需要加定位限制盒子在父盒子内显示

③ 父盒子布局时,需要占有位置,因此父亲只能是相对定位

这就是父相子绝的由来,所以相对定位经常用来作为绝对定位的父级

总结:因为父级需要占有位置,因此是相对定位,紫盒子不需要占有位置,则是绝对定位

当然,子绝父相不是永远不变的,如果父元素不需要占有位置,子绝父相也会遇到。

22.7 固定定位fixed(重要)

固定定位是元素固定于浏览器可视区的位置,主要使用场景:可以在浏览器页面滚动时元素的位置不会改变。

语法:选择器 { position: fixed; }

特点(记住)

1. 以浏览器的可视窗口为参照点移动元素

        跟父元素没有任何关系

        不随滚动条滚动

2. 固定定位不再占有原先的位置

固定定位也是脱标的,起于固定定位也可以看做是一种特殊的绝对定位。

固定定位小技巧:固定在版心右侧位置。

小算法:

1. 让固定定位的盒子 left:50%,走到浏览器可视区(也可以看做版心)的一半位置。

2. 让固定定位的盒子margin-left:版心宽度的一般距离。多走版心宽度的一半位置。

就可以让固定定位的盒子贴着版心右侧对齐了。

22.8 粘性定位sticky(了解)

粘性定位可以被认为是相对定位和固定定位的混合,Sticky 粘性的

语法:选择器 { position: sticky; top: 10px; }

粘性定位的特点:

1. 以浏览器的可视窗口为参照点移动元素(固定定位特点)

2. 粘性定位占有原先的位置(相对定位特点)

3. 必须添加top、left、right、bottom其中一个才有效

跟页面滚动搭配使用,兼容性较差,IE不支持。

22.9 总结

一定记住,相对定位、固定定位、绝对定位 两个大的特点:

1、是否占有位置(脱与否)

2、以谁为基准点移动位置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/344675.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C#用DateTime.Now静态属性返回日期的星期信息

目录 一、使用的方法 1.Now属性 2.ToString方法 二、示例 使用DateTime结构的Now静态属性,可以方便地获取系统日期信息。调用时间对象的ToString方法,在该方法的参数中添加适当的格式化字符串,将返回日期的星期信息。 一、使用的方法 1…

C语言入门到精通之练习实例10:打印楼梯,同时在楼梯上方打印两个笑脸(附源码)

题目:打印楼梯,同时在楼梯上方打印两个笑脸。 程序分析:用 ASCII 1 来输出笑脸;用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。 如果出现乱码情况请参考【C 练习实例7】的解决方法。 // Cr…

uniapp 在static/index.html中添加全局样式

前言 略 在static/index.html中添加全局样式 <style>div {background-color: #ccc;} </style>static/index.html源码&#xff1a; <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"utf-8"><meta http-…

从零开始用Rust编写nginx,命令行参数的设计与解析及说明

wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器&#xff0c;四层TCP/UDP转发&#xff0c;七层负载均衡&#xff0c;内网穿透&#xff0c;后续将实现websocket代理等&#xff0c;会将实现过程分享出来&#xff0c;感兴趣的可以一起造个轮子 …

教育研究方法有哪些分类

教育研究方法的分类是多种多样的&#xff0c;可以从不同的角度进行划分。根据研究目的、研究范围、研究层次等&#xff0c;可以将教育研究方法分为不同的类型。 一、根据研究目的划分 基础性研究基础性研究也称为理论性研究&#xff0c;主要是为了探索和发现新的理论观点和原…

uniapp开发过程一些小坑

问题1、uniapp使用scroll-view的:scroll-into-view“lastChatData“跳到某个元素id时候&#xff0c;在app上不生效&#xff0c;小程序没问题 使用this.$nextTick或者 setTimeout(()>{that.lastChatData 元素id },500) 进行延后处理就可以了。 问题2&#xff1a;uniapp开…

运动刷步工具2.4。运动步数同步wx和支付宝

时隔一年&#xff1b;上次更新还是2022-11-26&#xff0c;陆续收到私信旧版已不能使用&#xff0c;2.4版本更新修复超时问题。后续有时间还会更新邮箱登录功能2023-11-15更新&#xff1a;修复错误超时问题测试不行的小伙伴&#xff0c;先看说明再使用&#xff01;&#xff01;&…

关于常见分布式组件高可用设计原理的理解和思考

文章目录 1. 数据存储场景和存储策略1.1 镜像模式-小规模数据1.2 分片模式-大规模数据 2. 数据一致性和高可用问题2.1 镜像模式如何保证数据一致性2.2 镜像模式如何保证数据高可用2.2.1 HA模式2.2.2 分布式选主模式 2.3 分片模式如何数据一致性和高可用 3. 大规模数据集群的架构…

垃圾收集算法

垃圾收集算法有如下几种&#xff1a; 分代收集理论&#xff1a;年龄代和老年代选择各自的垃圾收集算法。 复制算法&#xff1a;可达性分析算法找非垃圾对象&#xff0c;然后把非垃圾对象移动到另一端&#xff0c;这一端的垃圾对象清除&#xff0c;该方法浪费内…

如何查找SpringBoot应用中的请求路径(不使用idea)

背景 昨天有个同事向我咨询某个接口的物理表是哪个&#xff0c;由于公司业务较多、这块业务的确不是我负责的&#xff0c;也没有使用idea不能全局搜索(eclipse搜不到jar内的字符串)&#xff0c;也就回复了不清楚。 除了自己写代码输出servlet的路径和类外&#xff0c;发现了一…

【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍

Java技术体系方向-JVM虚拟机参数调优原理 内容简介栈上分配与逃逸分析逃逸分析(Escape Analysis)栈上分配基本思想使用场景线程私有对象 虚拟机内存逻辑图JVM内存分配源码&#xff1a;代码总体逻辑 在某些场景使用栈上分配设置JVM运行参数&#xff1a;开启逃逸模式&#xff0c;…

书生·浦语大模型--第四节课笔记--XTuner大模型单卡低成本微调

文章目录 Finetune简介指令跟随微调增量预训练微调LoRA QLoRA XTuner介绍快速上手 8GB显卡玩转LLM动手实战环节 Finetune简介 增量预训练和指令跟随 通过指令微调获得instructed LLM 指令跟随微调 一问一答的方式进行 对话模板 计算损失 增量预训练微调 不需要问题只…

数据结构:3_栈和队列

栈和队列 一.栈 1. 栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。**进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。**栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#x…

软件测试知识库+1,5款顶级自动化测试工具推荐和使用分析

“工欲善其事必先利其器”&#xff0c;在自动化测试领域&#xff0c;自动化测试工具的核心地位不容置疑的。目前市面上有很多可以支持接口测试的工具&#xff0c;在网上随便一搜就可以出来很多&#xff0c;利用自动化测试工具进行接口测试&#xff0c;可以很好的提高测试效率&a…

GPT4+Python近红外光谱数据分析及机器学习与深度学习建模

详情点击链接&#xff1a;GPT4Python近红外光谱数据分析及机器学习与深度学习建模 第一&#xff1a;GPT4 1、ChatGPT&#xff08;GPT-1、GPT-2、GPT-3、GPT-3.5、GPT-4模型的演变&#xff09; 2、ChatGPT对话初体验 3、GPT-4与GPT-3.5的区别&#xff0c;以及与国内大语言模…

最新AI系统ChatGPT网站H5系统源码,支持Midjourney绘画,GPT语音对话+ChatFile文档对话总结+DALL-E3文生图

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧。已支持GPT…

Django笔记(六):DRF框架

首 前后端分离是互联网应用开发的标准使用方式&#xff0c;让前后端通过接口实现解耦&#xff0c;能够更好的进行开发和维护。 RESTful接口常见规范 在接口设计中&#xff0c;大家遵循一定的规范可以减少很多不必要的麻烦&#xff0c;例如url应有一定辨识度&#xff0c;可以…

(SSO单点登录)多个系统之间如何实现账号互通

SSO具有以下优点&#xff1a; 降低访问第三方网站风险&#xff1b;降低用户名和密码的管理成本&#xff1b;提高用户试用满意度&#xff1b;SSO使用标准的身份认证和授权协议&#xff0c;如OAuth、OpenID Connect等&#xff0c;可以保障用户身份的安全性和隐私性。 单点登录最大…

Linux 驱动开发基础知识——认识LED驱动程序 (二)

个人名片&#xff1a; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的在校大学生 &#x1f42f;个人主页&#xff1a;妄北y &#x1f427;个人QQ&#xff1a;2061314755 &#x1f43b;个人邮箱&#xff1a;2061314755qq.com &#x1f989;个人WeChat&#xff1a;V…

el-select选择之后值不显示在文本框的问题解决

问题场景如下图&#xff1a; 在el-collapse-item中使用子组件&#xff0c;子组件里是el-form-item代码。el-select在for循环中&#xff0c;可以有多个。 查了一下博客&#xff0c;有的说这种场景需要给el-select添加change事件&#xff0c;加上 this.$forceUpdate() 强制刷新即…