CSS层定位——固定定位,相对定位,绝对定位
主要写关于层定位的相关知识
㈠定位概述
⑴像图像软件中的图层一样可以对每一个layer能够精确定位操作
⑵层定位的position属性决定了当前的一个网页元素,可以叠加到另一个网页元素上面,那么我们把这个网页元素称为一层,那么外面的元素称为父层,里面嵌入的元素称为子层
⑶position属性 (相对于谁定位)
fixed 固定定位 relative 相对定位 absolute 相对定位
⑷通过以下属性定位 (位置在哪里)
①通过position属性设定它的参照物是最外层盒子,通过top属性设置当前盒子距离它的参照物上边界的距离,通过left,right,bottom属性设置当前盒子距离它的参照物左,右,下边界的距离。

②采用z-index属性进行设定
对于它的参照物来说,如果当前的这一层的z-index值比较小,比如说下层这一层z-index取值是1,上面这一层z-index取值是2,效果就是取值大的这一层会覆盖遮挡取值小的这一层。

㈡position属性
⑴static:默认值
没有定位,元素出现在正常的流中(静态的,当前元素是文档流定位的方式),top,bottom,left,right,z-index无效
⑵fixed:固定定位
相对于浏览器窗口进行定位,top,bottom,left,right,z-index有效。
⑶relative:相对定位
相对于其直接父元素进行定位,top,bottom,left,right,z-index有效。
⑷absolute:绝对定位
相对于static定位以外的第一个父元素进行定位,top,bottom,left,right,z-index有效。
★什么叫直接父元素?
比如说,当前这一层它的父元素所在的位置,如果还有父元素的话,但是当前这一层是相对于它的紧邻的父元素来定位,这个就叫做直接父元素。
㈢固定定位 position:fix
⑴当前有一个盒子,它是固定定位的方式,它的参照物是浏览器本身。
特点:不会随浏览器窗口的滚动条滚动而变化,总在视线里的元素。

⑵不管参照物是谁,它的坐标原点始终在参照物的左上角,如下图,(0.0)是坐标原点,向右为水平的x轴,向下为垂直的y轴,向右方向值取正值,向左方向取值为负值。
举例:

㈣相对定位 position:relative
★relative:定位为relative的元素脱离正常的文档流中,但其在文档流中的原位置依然存在。
举例说明:
下图就是相对定位,在属性设定的时候,将宽和高设定出来,设置它的定位方式是相对定位,它的位置是相对于它的父元素top和left属性设置的,分别为20px。

下面看设定为相对定位之后的变化:
⑴初始状态下,它还是文档流定位:

⑵设置完相对定位,它会脱离文档流位置,由top和left来决定,向右下方倾斜,但是由于它的原来在文档流当中的位置依然是被保留的,所以位于它下面的另外一个static类型的元素没有去占据它的位置。

㈤绝对定位: position:absolute
absolute:定位为absolute的脱离正常的文本流,但与relative的区别是其在正常流中的原位置不再存在。
举个案例:下面是它的代码部分

下面看它出现的变化:
⑴现在是它初始状态下,文档流定位方式

⑵现在是它脱离文档流,它的位置上和左分别是20px,这时候由于它原来的位置会被丢失,所以它下面的这一静态的定位,也就是默认的文档流定位的元素会向上移动,占据原有这个元素它的位置,这个就是排列之后的效果:

以上为相对定位和绝对定位之间第一个区别。
现在说它们之间的第二个区别:
⒈relative定位的层总是相对于其直接父元素而言的,无论其父元素是什么定位方式。
⒉absolute定位的层总是相对于其最近的定义为absolute或relative的父层,而这个父层并不一定是其直接父层。对于absolute定位的层,如果其父层中都未定义absolute或relative,则其将将对body进行定位。
用表格的方式总结这两者之间的区别

㈥relative+absolute
⑴父元素box1:position:relative;
⑵子元素box2:position:absolute;
⑶子元素box2:top,bottom,left,right相对于父元素来进行偏移定位。
我们通常会将外层的父元素box1设置为相对定位,然后将它的内层子元素box2设置成绝对定位。
优点:当父元素box1移动时,当它移动到另一个位置,子元素是相对于父元素的位置进行定位的,所以它们两个可以一起被移动。
具体应用:
⑴当前有这样一幅图片,要在这个图片上面显示一层文字,要做到使这个文字也需要跟着移动。
⑵做法:采用层定位relative+absolute,让后面的这个盒子做父元素,里面添加图片,然后父元素里面还包含一个子元素,就是文字,然后让子元素叠加到图片上面,这样做就可以了,具体的代码和图片示例如下图所示:

以上就是CSS定位机制——层定位的相关知识,希望有所帮助。
CSS层定位——固定定位,相对定位,绝对定位的更多相关文章
- HTML四种定位-固定定位
固定定位 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset=&q ...
- 层模型--固定定位(position:fixed)
fixed:表示固定定位,与absolute定位类型类似,但它的相对移动的坐标是视图(屏幕内的网页窗口)本身. 由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏览器窗口 ...
- 【CSS3】---层模型position之fixed固定定位、absolute绝对定位和relative相对定位
什么是层模型? 什么是层布局模型?层布局模型就像是图像软件PhotoShop中非常流行的图层编辑功能一样,每个图层能够精确定位操作,但在网页设计领域,由于网页大小的活动性,层布局没能受到热捧.但是在网 ...
- css定位:相对定位、绝对定位、固定定位的区别与特性
css定位:相对定位.绝对定位.固定定位的区别与特性 原文地址:http://www.qingzhouquanzi.com/106.html css定位常用的有以下三种: 使用了定位的共同特性: 这三 ...
- HTML+CSS基础知识(5)相对定位、绝对定位、固定定位
文章目录 1.相对定位 1.1 代码 1.2 测试结果 2.绝对定位 2.1 代码 2.2 测试 3.固定定位 3.1 代码 3.2 测试结果 1.相对定位 1.1 代码 <!DOCTYPE h ...
- position之fixed固定定位、absolute绝对定位和relative相对定位
什么是层模型? 什么是层布局模型?层布局模型就像是图像软件PhotoShop中非常流行的图层编辑功能一样,每个图层能够精确定位操作,但在网页设计领域,由于网页大小的活动性,层布局没能受到热捧.但是在网 ...
- WEB学习 -相对定位、绝对定位、固定定位、z-index
相对定位 相对定位,就是微调元素位置的.让元素相对自己原来的位置,进行位置调整. .不脱标,老家留坑,形影分离 也就是说相对定位不脱标,真实位置是在老家,只不过影子出去了,可以到处飘. 3.相对定位用 ...
- css 08-CSS属性:定位属性
08-CSS属性:定位属性 CSS的定位属性有三种,分别是绝对定位.相对定位.固定定位. position: absolute; <!-- 绝对定位 --> position: relat ...
- 固定定位 z-index iconfont的使用 043
固定定位 现象 脱标 提升层级 将盒子固定住 参考点 浏览器的左上角 : <!DOCTYPE html> <html lang="en"> <he ...
随机推荐
- Tableau常用函数、功能
Tableau常用函数 创建计算字段: Tableau常用功能
- 【C】命令行参数解析——getopt、getopt_long及getopt_long_only
前言 在linux下学习开源代码Webbench,遇到get_long等函数的用法,一时有点懵,故想深入了解这类命令行解析函数,并记此博文. 1.getopt getopt主要用来处理短命令行选项,例 ...
- PTA(Basic Level)1046.划拳
划拳是古老中国酒文化的一个有趣的组成部分.酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字.如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒.两人同赢或两人同输 ...
- PTA(Basic Level)1048.数字加密
本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余--这里用 J 代表 ...
- 【0.3】mysql复制的日常管理维护,mysql复制常见问题处理
[1]复制的日常管理 #复制的日常管理与维护 [1.1]show slave status\G :在从库查看从库线程状态 [1.2]flush tables with read lock; :主从不 ...
- IDEA项目目录里下找不到src,但是src确实存在的的解决方案
写代码的时候可能出现写着写着src就找不到了,我个人认为是触发了热键导致src被隐藏了,下面就是设置src可见和不可见的操作 这个其实是被隐藏了,打开就好,位置如下:
- C++练习 | 最长公共字符串(DP)
HDU 1159.Common Subsequence #include<iostream> #include<stdio.h> #include<string> ...
- ajax实现异步操作实例1
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- tomcat进行压测时,cpu占用90%
1.top 命令查看占用cpu高的进程,pid=15019 2.查看该进程下所有占用cppu高的线程 top -Hp pid 即:top -Hp 15019 得到pid 3.获取15030的16进 ...
- python 字符串前面加r,u的含义
u/U:表示unicode字符串 不是仅仅是针对中文, 可以针对任何的字符串,代表是对字符串进行unicode编码. 一般英文字符在使用各种编码下, 基本都可以正常解析, 所以一般不带u:但是中文, ...