1-定位的应用场景介绍
- 可以解决盒子与盒子之间的层叠问题 -> 定位之后的元素层级最高,可以层叠在其他盒子上面
- 可以让盒子始终固定在屏幕中的某个位置
2-定位的基本使用步骤
1.设置定位方式
- 属性名:position
- 常见属性值:
| 定位方式 | 属性值 |
|---|---|
| 静态定位 | static |
| 相对定位 | relative |
| 绝对定位 | absolution |
| 固定定位 | fixed |
2.设置偏移值
偏移值设置分为两个方向,水平和垂直方向各选一个使用即可
选取的原则一般是就近原则(离那边近用哪个)
| 方向 | 属性名 | 属性值 | 含义 |
|---|---|---|---|
| 水平 | left | 数字+px | 距离左边的距离 |
| 水平 | right | 数字+px | 距离右边的距离 |
| 垂直 | top | 数字+px | 距离上边的距离 |
| 垂直 | bottom | 数字+px | 距离下边的距离 |
3-静态定位
介绍:静态定位是默认值,就是之前认识的标准流
代码:position:static;
注意点:
- 静态定位就是之前标准流,不能通过方位属性进行移动
- 之后说的定位不包括静态定位,一般特指后几种:相对、绝对、固定
4-相对定位
介绍:自恋型定位,相对于自己之前的位置进行移动
代码position:relative;
特点:
- 需要配合方位属性实现移动
- 相对于自己原来位置进行移动
- 在页面中占位置 ——> 没有脱标
应用场景:
- 配合绝对定位组CP(子绝父相)
- 用于小范围的移动
5-绝对定位的介绍
介绍:拼爹型定位,相对于非静态定位的父元素进行定位移动
代码position:absolute;
特点:
- 需要配合方位属性实现移动
- 默认相对于浏览器可视区进行移动
- 在页面中不占位置 ——> 已经脱标
应用场景:
- 配合绝对定位组CP(子绝父相)
子绝父相
含义:
- 子元素:绝对定位
- 父元素:相对定位
应用场景:让子元素相对于父元素进行自由移动
好处:父元素是相对定位,则对网页布局影响最小
6-固定定位
介绍:死心眼类型,相对于浏览器进行定位移动
代码position:fixed;
特点:
- 需要配合方位属性实现移动
- 相对于浏览器可视区域进行移动
- 在页面中不占位置 ——> 已经脱标
应用场景:
- 让盒子固定在屏幕中的某个位置
总结
| 序号 | 值 | 语义 | 脱标 | 移动位置 | 常用 | 场景 |
|---|---|---|---|---|---|---|
| 1 | static | 静态定位 | 否 | 不移动 | 几乎不用 | 不定位 |
| 2 | relative | 相对定位 | 否 | 相对移动 | 常用 | 子绝父相 |
| 3 | absolute | 绝对定位 | 是 | 带定位的父级 | 常用 | 子绝父相 |
| 4 | fixed | 固定定位 | 是 | 浏览器可视区 | 常用 | 浏览器可视区 |
| 5 | sticky | 粘性定位 | 否 | 浏览器可视区 | 不常用 | 浏览器可视区 |
7-定位元素的层级
标准流、浮动、定位元素之间的层级关系是什么样?
- 标准流 < 浮动 < 定位
不同定位元素之间的层级关系是什么样?
- 相对、绝对、固定默认层级相同
- 此时HTML中写在下面的元素层级更高,会覆盖上面的元素
通过什么属性可以修改定位元素的层级?
- z-index:数字;