跟着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、以谁为基准点移动位置

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Postgresql中的jsonb数据类型学习使用

pgsql是在9.2版本中引入了对于json的支持 一般情况下使用到json数据格式的时候,99%都是查询,所以接下来看一下项目中对于json类型的数据是如何查询的 定义表 CREATE TABLE tv_sup_sl_dw_query (id varchar(200) NOT NULL,sup_record_id varchar(100) …

数列排序——模拟

给定一个数列 a,这个数列满足ai ! aj(i ! j),现在要求你把这个数列从小到大排序,每次允许你交换其中任意一对数,请问最少需要几次交换? 输入 第一行是一个整数,代表数字个数n(1 ≤ n ≤ 1e5). 第二行有n个…

reset.css重置样式

reset.css 是重置样式表,统一各浏览器的基础样式,下面列出几个常见的 reset文件,常放在公共样式表中引用 淘宝的reset blockquote,body,button,dd,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,hr,input,legend,li,ol,p,pre,td,textarea,th,ul {m…

STL第三讲

第三讲 stl六大部件:算法是函数模板,其他的是类模板 算法形式:传入两个迭代器(第三个参数可能有:一个比较的准则 算法需要的所有信息从迭代器获取 迭代器分类 基于红黑树的结构是双向迭代器; 基于hash的取…

【计算机网络】UDP协议与TCP协议

文章目录 一、端口号1.什么是端口号2.端口号范围划分3.认识知名端口号(Well-Know Port Number)4.netstat5.pidof 二、UDP协议1.UDP协议端格式2.UDP的特点3.面向数据报4.UDP的缓冲区5.UDP使用注意事项6.基于UDP的应用层协议 三、TCP协议1.TCP协议段格式1.1理解封装解包和分用1.2…

python蓝桥杯备考——常见切片操作

python蓝桥杯备考——常见切片操作 1、常见切片操作2、练习 1、常见切片操作 当我们使用切片操作时,我们可以从一个序列(如字符串、列表或元组)中选择一个子序列。 切片操作的一般语法是 sequence[start:stop:step],其中&#x…

进程通信与socket编程实践之猜数字小游戏

socket是实现进程通信的一种重要方式,本文将通过socket编程实现服务器进程与客户端进程之间的通信,并在通信之外实现猜数字的小游戏。 1. 设计思路 本文设计的C/S结构的猜数字游戏功能如下:服务器端自动生成一个1-100之间的随机数字&#x…

100T数据存进服务器分几步?

大家好,我是豆小匠。 这期来聊聊数据存储相关的问题,包括: 容量评估。技术选型。容灾处理。 另外,文末赠送免费定制红包封面哦! 1. 容量评估 通过对容量&性能的评估,可以把业务需求转化成技术语言描…

python3-cookbook-保留最后 N 个元素

第一章:数据结构和算法 Python 提供了大量的内置数据结构,包括列表,集合以及字典。大多数情况下使用这些数据结构是很简单的。但是,我们也会经常碰到到诸如查询,排序和过滤等等这些普遍存在的问题。 因此,这…

鲲鹏微认证——openEuler开源操作系统迁移实践

文章目录 为什么要系统搬迁为什么选择欧拉欧拉系统迁移概述实施路径工具实战 为什么要系统搬迁 2020年12月,CentOs作为由开源社区免费提供的操作系统,宣布将对CentO58于2021年底停止服务,CentO57则于2024年6月底停止服务。 这将直接导致操作…

设计一个停车场

约束和假设 我们应该支持哪种类型的车辆? motorcycle, Car, Bus 每种车型占用的停车位数量是否不同? YesMotorcycle spot -> MotorcycleCompact spot -> Motorcycle, CarLarge spot -> Motorcycle, CarBus can park if we have 5 consecutive …

Linux系统SSH远程管理服务

目录 一、SSH服务介绍 1、SSH协议是什么? 2、SSH的优点 3、SSH的客户端与服务端 4、SSH的原理 4.1 公钥首次连接原理 4.2 ssh加密通讯原理 4.2.1 对称加密 4.2.2 非对称加密 4.2 ssh远程登录 二、服务端配置 1、常见配置项 1.1 修改默认端口 1.2 禁止…

未来已来:AI引领智能时代的多领域巨变

大家好,今天我们将深入探讨人工智能如何彻底改变我们的生活方式,领略未来的无限可能性。 1. 医疗革新:AI担任超级医生 医疗领域是AI最引人注目的战场之一。智能医学影像诊断系统,不仅能够精准识别病变,还能辅助医生提…

VS Code使用Git管理开发项目流程

以VSCode远程连接虚拟机开发为例,已经配置好SSH 在Github上搜索心仪的项目,比如权限管理 点击fork到自己账户仓库 虚拟机下创建一个目录 1)mkdir java_test 2)切换到java_test 初始化并克隆项目 1) git init:初始化仓库 2) g…

node淘宝新镜像地址

最新的配置淘宝镜像的淘宝官方提供的方法 npm config set registry https://registry.npmmirror.com如果你想将npm的下载源恢复为默认的官方源,可以使用以下命令: npm config set registry https://registry.npmjs.org你可以使用以下命令来查看当前npm…

掼蛋功能之识别性格篇

常说:千人千面。大多数人一到牌局的场面,往往精神便会放松,面貌神情不再收敛,一言一行体现出的性格暴露无疑,具体表现为以下几种: 1、浮躁冲动型:此类人多数不讲究团队配合,自顾自出…

UE5 - Polycam扫描文件导入插件

Polycam是利用Gaussian Splatting进行3D重建的3D扫描相关软件,其对应有UE引擎的插件(Plugin_XV3dGS)可以把相关格式的文件导入到引擎; 首先Polycam的官网为:My Captures | Polycam 可以下载各种用户扫描文件&#xff…

vivado I/O和时钟规划设计流程步骤

I/O和时钟规划设计流程步骤 下图显示了左侧的项目设计流程步骤。水平箭头表示项目设计流程中可以执行I/O和时钟规划的点。中的步骤I/O和时钟规划设计流程如右图所示。 项目设计流程从一个空的I/O规划项目、RTL设计项目或合成后网表项目。使用这些项目类型中的任何一种&#xf…

PPO学习

openai用tf实现的真的看不懂,大佬的世界… PPO的详细细节 1. 奖励模型和策略的价值头将 query 和 response 的连接作为输入 奖励模型和策略的价值头 不 仅仅查看响应。相反,它将 query 和 response 连接在一起,作为 query_response def ge…

Python进阶知识:整理6 -> 正则表达式

1 基础匹配用法 # 演示Python中正则表达式re模块的3个基础匹配方法 import re # 1. match()方法 从头匹配 string "hello world" result re.match("hello", string) # 如果头部没有匹配成功就直接失败了,后面就不会继续匹配了 print(result) print(r…