Position定位详解
Position
CSS
position属性用于指定一个元素在文档中的定位方式。top,right,bottom和left属性则决定了该元素的最终位置。
在分析position元素定位之前,先来说说什么是文档流?(自我理解)
浏览器在默认情况下规定一个块元素在父元素内排列规则:
- 元素从上到下、从左到右排列
- 一个块级元素独占一行
- 行内元素不会独占一行
- 浮动元素在一行排不下则换行继续浮动
position 属性的五个值:
- static
- relative
- absolute
- fixed
- sticky
一、static(默认值)
该关键字指定元素使用
正常的布局行为,即元素在文档常规流中当前的布局位置。此时top,right,bottom,left和z-index属性无效。
二、relative
relative:相对定位
该关键字下,元素先放置在未添加定位时的位置,再在不改变页面布局的前提下调整元素位置(因此会在此元素未添加定位时所在位置留下空白)。position:relative 对 table-*-group, table-row, table-column, table-cell, table-caption 元素
无效。
语法:
div{
position:relative;
}
特点:
1. 参照相对没有定位前的自己
2. 有层级,后来居上-- 层级高
3. 占据自己原来的位置--在原来的文档流当中存在自己的位置
4. 不会改变元素的特征,行内还是行内,块级还是块级
5. 支持margin、padding、margin:auto
6. 不脱离文档流
三、absolute
absolute:绝对定位
元素会被移出正常文档流(脱离文档流),并不为元素预留空间,通过指定元素相对于最近的非 static 定位祖先元素的偏移,来确定元素位置。绝对定位的元素可以设置外边距(margins),且不会与其他边距合并。
语法:
div{
position:absolute
}
特点:
1. 脱离文档流
2. 提升层级不占原来的位置,后来者居上
3. 不支持margin:auto,支持margin
4. 参照物:默认参照body,绝对定位的元素位置相对于最近的 已定位 的祖先元素
5. 行内元素支持宽高,块级元素内容撑开宽高改变元素特性
6. 一般配合相对定位使用-- 父相子绝
四、fixed
fixed:固定定位
元素会被移出正常文档流,并不为元素预留空间,而是通过指定元素相对于屏幕视口(viewport)的位置来指定元素位置。元素的位置在屏幕滚动时不会改变。
语法:
div{
position:fixed
}
特点:
1.参照物:相对 浏览器窗口 定位!
2.脱离文档流,提升层级
3.不支持margin:auto
4.可以改变元素特性,行内->块级
五、sticky
sticky:粘性定位(基于用户的滚动位置来定位)
元素根据正常文档流进行定位,然后相对它的最近滚动祖先包括table-related元素,基于
top,right,bottom, 和left的值进行偏移。偏移值不会影响任何其他元素的位置。
粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换,表现为在跨越特定阈值前为相对定位,之后为固定定位。
注意:只有指定 top, right, bottom 或 left 四个阈值其中之一,才可使粘性定位生效。否则其行为与相对定位相同。
语法:
div.sticky {
position: -webkit-sticky;
position: sticky;
top: 0;
}
---层级关系(z-index)
因为元素的定位与文档流无关,所以它们可以覆盖页面上的其它元素,这里 z-index 属性指定了一个元素的堆叠顺序(哪个元素应该放在前面,或后面)
z-index--可以调换两个层的上下位置关系
值可为正也可为
负,值越大越在上面,默认为0只能同级元素对比z-index
只对定位的元素有效,其他元素均无效
{
position:absolute;
left:0px;
top:0px;
z-index:-1; /* 置于底层 */
}
参考文档:
https://developer.mozilla.org/zh-CN/docs/Web/CSS/position
https://www.runoob.com/css/css-positioning.html
Position定位详解的更多相关文章
- CSS魔法堂:Position定位详解
一.Position各属性值详解 1. static :默认值,元素将按照正常文档流规则排列. 2. relative :相对定位,元素仍然处于正常文档流当中,但可以通过left.top. ...
- css position定位详解
position:static 默认方式: position:relative 相对定位,相对于原有位置进行移动,并且保留它在文件流中的占位: position:absolute 绝对定位,相对于最近 ...
- css相关,position定位详解
CSS 有两个最重要的基本属性,前端开发必须掌握:display 和 position. display属性指定网页的布局.两个重要的布局,弹性布局flex和网格布局grid. 本文介绍非常有用的po ...
- css3——position定位详解
最近热衷于前端的开发,因为突然发现虽然对于网站.应用来说,功能处于绝对重要的地位,但是用户体验对于用户来讲同样是那么的重要,可以说是第一印象.最近在开发当中发现以前对于css中的position的理解 ...
- 带你走进CSS定位详解
学习CSS相关知识,定位是其中的重点,也是难点之一,如果不了解css定位有时候都不知道怎么用,下面整理了一下关于定位属性的具体理解和应用方案. 一:定位 定位属性列表 position top bot ...
- HTML中元素的position属性详解
HTML中元素的position属性详解 转载自:https://blog.csdn.net/wangzunkuan/article/details/81540935 HTML中DOM元素有5种定 ...
- CSS进阶内容—浮动和定位详解
CSS进阶内容-浮动和定位详解 我们在学习了CSS的基本知识和盒子之后,就该了解一下网页的整体构成了 当然如果没有学习之前的知识,可以到我的主页中查看之前的文章:秋落雨微凉 - 博客园 CSS的三种布 ...
- 小甲鱼PE详解之基址重定位详解(PE详解10)
今天有一个朋友发短消息问我说“老师,为什么PE的格式要讲的这么这么细,这可不是一般的系哦”.其实之所以将PE结构放在解密系列继基础篇之后讲并且尽可能细致的讲,不是因为小甲鱼没事找事做,主要原因是因为P ...
- css 之position用法详解
css 之position用法详解: http://www.jb51.net/web/77495.html
随机推荐
- [luogu5294]序列
也是一道保序回归的题,但思路不同于论文中模板题 考虑两个开口向上的二次函数$f(x)$和$g(x)$,求任意实数$x,y$满足$x\le y$且最小化$f(x)+g(y)$,这个最小值可以分类讨论求出 ...
- [atARC111E]Simple Math 3
首先,必然要有$(a+ci)-(a+bi)+1<d$,因此$(c-b)i\le d-2$,即$i\le \lfloor\frac{d-2}{c-b}\rfloor$ 此时,$[a+bi,a+ci ...
- 【Azure 应用服务】App Service 无法连接到Azure MySQL服务,报错:com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
问题描述 App Service使用jdbc连接MySQL服务,出现大量的 Communications link failure: com.mysql.cj.jdbc.exceptions.Com ...
- vue指令v-for报错:Elements in iteration expect to have 'v-bind:key' directives.eslint-plugin-vue
文件–>首选项–>设置–>在搜索框中输入:vetur.validation.template,取消勾选.
- layui页面操作,点击一个添加页面,跳转有确定,然后点击确定后将选择的几个数据返回前一个页面获取值,然后ajax请求后台
custUserIndex.html [添加页面代码] <!DOCTYPE html> <html> <head> <meta charset="u ...
- flutter第一课
网上搜到有一个8小时体验flutter的教程,感觉可以尝试一个hello world出来:https://www.jianshu.com/p/9aaabc60d8af 官网下载很慢,可以使用镜像下载, ...
- Hbuilder/Uniapp 格式化的时候,很多属性会排列在一行,如何结局?
因为自己遇到这个问题,然后百度了很久都得不到解决办法,所以解决问题以后在博客园写下此文,希望能帮助到更多人! //在jsbeautifyrc.js里面的html中加入这个,就OK了 "wra ...
- 数值最优化:一阶和二阶优化算法(Pytorch实现)
1 最优化概论 (1) 最优化的目标 最优化问题指的是找出实数函数的极大值或极小值,该函数称为目标函数.由于定位\(f(x)\)的极大值与找出\(-f(x)\)的极小值等价,在推导计算方式时仅考虑最小 ...
- Codeforces 643F - Bears and Juice(思维题)
Codeforces 题目传送门 & 洛谷题目传送门 首先直接暴力枚举显然是不现实的,我们不妨换个角度来处理这个问题,考虑这 \(R_i\) 个瓶子中每一瓶被哪些熊在哪一天喝过. 我们考虑对这 ...
- 15.Pow(x, n)
Pow(x, n) Total Accepted: 88351 Total Submissions: 317095 Difficulty: Medium Implement pow(x, n). 思路 ...