CSS基础(6)CSS布局-定位+装饰

定位

目标:能够说出 定位 的常见应用场景,并且能够说出 不同定位方式 的特点

学习路径:
1. 定位的基本介绍
2. 定位的基本使用
3. 静态定位
4. 相对定位
5. 绝对定位
6. 子绝父相
7. 固定定位
8. 元素的层级关系

1.1 网页常见布局方式

1. 标准流
1. 块级元素独占一行 → 垂直布局
2. 行内元素/行内块元素一行显示多个 → 水平布局
2. 浮动
1. 可以让原本垂直布局的 块级元素变成水平布局
3. 定位
1. 可以让元素自由的摆放在网页的任意位置
2. 一般用于 盒子之间的层叠情况

1.2 定位的常见应用场景

1. 可以解决盒子与盒子之间的层叠问题
• 定位之后的元素层级最高,可以层叠在其他盒子上面

2. 可以让盒子始终固定在屏幕中的某个位置

2.1 定位初体验

1. 需求:页面中两个盒子,要求完成图片的效果,可以如何完成?
➢ 针对于盒子与盒子之间的层叠问题,推荐使用定位完成!

2.2 使用定位的步骤

1. 设置定位方式
➢ 属性名:position
➢ 常见属性值:

2. 设置偏移值
➢ 偏移值设置分为两个方向,水平和垂直方向各选一个使用即可
➢ 选取的原则一般是就近原则 (离哪边近用哪个)

3.1 静态定位

➢ 介绍:静态定位是默认值,就是之前认识的标准流。
➢ 代码:

postition:static;

➢ 注意点:
1. 静态定位就是之前标准流,不能通过方位属性进行移动
2. 之后说的定位不包括静态定位,一般特指后几种:相对、绝对、固定

4.1 相对定位

➢ 介绍:自恋型定位,相对于自己之前的位置进行移动
➢ 代码:

postition:relative;

➢ 特点:
1. 需要配合方位属性实现移动
2. 占原来的位置

3.仍具有标签原来的显示特点

4. 在页面中占位置 → 没有脱标

5.改变位置参照自己原来的位置

6.如果left和right都有优先使用left,如果top和bottom都有优先使用top。
➢ 应用场景:
1. 配合绝对定位组CP(子绝父相)
2. 用于小范围的移动

5.1 绝对定位

➢ 介绍:拼爹型定位,相对于非静态定位的父元素进行定位移动
➢ 代码:

postition:absolute

➢ 特点:
1. 需要配合方位属性实现移动
2. 默认相对于浏览器可视区域进行移动
3. 在页面中不占位置 → 已经脱标

4.绝对定位查找父级的方式:就近寻找父级,父级没有网上寻找,如果最上级也没有定位,则按照浏览器进行定位

改变标签的显示模式,变成行内标签,宽高正常生效。

定位方式:

先找已经定位的父级,如果父级有定位则按照父级为参照物进行定位,

如果父级没有定位,则按照浏览器窗口的大小进行定位。
➢ 应用场景:
1. 配合绝对定位组CP(子绝父相)

子绝父相:子集绝对定位,父级用相对定位

绝对定位的盒子不能使用左右margin auto居中

绝对定位的盒子显示模式具有行内块标签的显示模式,需要加宽度和高度生效,如果没有宽度和高度也没有内容,默认的宽度高度尺寸就是0。

子绝父相水平居中案例-解决方法

1. 子绝父相
2. 先让子盒子往右移动父盒子的一半

• left:50%
3. 再让子盒子往左移动自己的一半
• 普通做法:margin-left:负的子盒子宽度的一半
缺点:子盒子宽度变化后需要重新改代码

• 优化做法:transform:translate(-50%,-50%)

ps:写transform:translate(-50%,-50%);需要先写left/right:50%;top/bottom:50%;

优点:表示沿着X轴负方向(往左)始终移动自己宽度的一半,子盒子宽度变化不需要更改代码

7.1 固定定位

➢ 介绍:死心眼型定位,相对于浏览器进行定位移动
➢ 代码:

//固定到右上角,例子
position:fixed;
left:0;
top:0;

➢ 特点:
1. 需要配合方位属性实现移动
2. 相对于浏览器可视区域进行移动
3. 在页面中不占位置 → 已经脱标

4.具备行内块特点,需要填写宽度和高度
➢ 应用场景:
1. 让盒子固定在屏幕中的某个位置

8.1 元素层级问题

➢ 不同布局方式元素的层级关系:
• 标准流 < 浮动 < 定位
➢ 不同定位之间的层级关系:
• 相对、绝对、固定默认层级相同
• 此时HTML中写在下面的元素层级更高,会覆盖上面的元素

默认情况下:定位的盒子,后面的标签压在前面的标签,

如果想让前面的标签压在后面的标签用属性

z-index:整数;取值越大越考前,z-index默认值是0.

z-index需要配合定位来显示,

8.2 更改定位元素的层级

➢ 场景:改变定位元素的层级
➢ 属性名:z-index
➢ 属性值:数字
• 数字越大,层级越高

 

版权声明:
作者:zhuim521
链接:https://zhuimwl.com/53.html
来源:追梦博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
CSS基础(6)CSS布局-定位+装饰
定位 目标:能够说出 定位 的常见应用场景,并且能够说出 不同定位方式 的特点 学习路径: 1. 定位的基本介绍 2. 定位的基本使用 3. 静态定位 4. 相对定位 5. ……
<<上一篇
下一篇>>