1. position:static;

这个属性让元素使用正常的布局(元素在文档常规流中当前的布局位置)。

  • 也就是说元素没加这个属性和加了以后位置都是不变的
  • 只是此时 top, right, bottom, leftz-index属性无效。

2. position:relative;:相对定位

  • 在元素原有的位置基础上,根据设置的top,left调整元素位置
  • 不会改变页面布局,不影响其他元素的偏移,因此会在此元素未添加定位时所在位置留下空白
  • position:relativetable-*-group, table-row, table-column, table-cell, table-caption 元素无效
<div class="box" id="one">One</div>
<div class="box" id="two">Two</div>
<div class="box" id="three">Three</div>
<div class="box" id="four">Four</div>
.box {display: inline-block;width: 100px;height: 100px;background: red;color: white;
}#two {position: relative;top: 20px;left: 20px;background: blue;
}

3. position:absolute:绝对定位

  • 假设给A元素添加绝对定位,那么A元素就会相对于最近的非static定位祖先元素偏移,来确定A元素位置。
  • 当这样的祖先元素不存在时,则相对于ICB(inital container block, 初始包含块)
  • A元素会被移出正常文档流,并不为元素预留空间。不会像relative那样,在元素未添加定位时所在位置留下空白。
  • 绝对定位的元素可以设置外边距(margins),且不会与其他边距合并
<style>.box {display: inline-block;width: 100px;height: 100px;background: red;color: white;}#two {position: absolute;top: 20px;left: 20px;background: blue;}
</style><body><div class="box" id="one">One</div><div class="box" id="two">Two</div><div class="box" id="three">Three</div><div class="box" id="four">Four</div>
</body>


按照下面代码这样,two这个盒子是相对于body定位的。如果给上面四个盒子外添加一个父盒子,并且给这个父盒子添加除了static以为的定位,那么他就会相对于父盒子偏移。

3. position:fixed;:固定定位

  • 添加这个属性的元素会相对于屏幕视口(viewport)来定位
  • 在滚动屏幕位置的时候元素位置不会改变。在固定顶部导航栏的时候可以使用这个属性。
  • fixed 属性会创建新的层叠上下文
  • 当元素祖先的 transform, perspectivefilter 属性非 none 时,容器由视口改为该祖先。
.box {position: fixed;}

4. position: sticky;:粘性定位

粘性定位可以被认为是相对定位和固定定位的混合。元素在跨越特定阈值前为相对定位,之后为固定定位。例如:

#one { position: sticky; top: 10px; }

在 viewport 视口滚动到元素 top 距离小于 10px 之前,元素为相对定位。之后,元素将固定在与顶部距离 10px 的位置,直到 viewport 视口回滚到阈值以下。

粘性定位常用于定位字母列表的头部元素。标示 B 部分开始的头部元素在滚动 A 部分时,始终处于 A 的下方。而在开始滚动 B 部分时,B 的头部会固定在屏幕顶部,直到所有 B 的项均完成滚动后,才被 C 的头部替代。

须指定 top, right, bottomleft 四个阈值其中之一,才可使粘性定位生效。否则其行为与相对定位相同。

position四个属性详解相关推荐

  1. position和float属性详解

    当构建页面排版时,有不同的方法可以使用.使用哪一种方法取决于具体页面的排版要求,在不同的情况下,某些方法可能好过于其他的方法. 比如,可以使用若干个浮动元素来构建一个整洁简洁的页面排版.或者,如果需要 ...

  2. HTML中元素的position属性详解

    HTML中元素的position属性详解 转载自:https://blog.csdn.net/wangzunkuan/article/details/81540935 HTML中DOM元素有5种定位属 ...

  3. CSS margin属性详解

    CSS margin属性详解 我发现当我想写好一篇博文的时候,希望以后能有人看到,会对别人也有一定的帮助,这时候对于其中的内容就变得深思熟虑起来,让自己查阅尽可能多的资料,这样的方式正好可以弥补我某些 ...

  4. overflow属性详解

    overflow属性详解_桃花扇J的博客-CSDN博客_overflow属性 原链接 overflow是对溢出内容的处理,有四个属性值visible,hidden,scroll,auto,且可以分别设 ...

  5. css动画相关属性详解

    css动画相关属性详解 文章目录 css动画相关属性详解 什么是CSS动画? 一.@keyframes规则 二.延迟动画-animation-delay 三.设置动画应运行多少次animation-i ...

  6. 【NLP】四万字全面详解 | 深度学习中的注意力机制(四,完结篇)

    作者 | 蘑菇先生 知乎 | 蘑菇先生学习记 深度学习Attention小综述系列: 四万字全面详解 | 深度学习中的注意力机制(一) 四万字全面详解 | 深度学习中的注意力机制(二) 四万字全面详解 ...

  7. 【NLP】四万字全面详解 | 深度学习中的注意力机制(三)

    NewBeeNLP原创出品 公众号专栏作者@蘑菇先生 知乎 | 蘑菇先生学习记 深度学习Attenion小综述系列: 四万字全面详解 | 深度学习中的注意力机制(一) 四万字全面详解 | 深度学习中的 ...

  8. Flash播放控件属性详解

    Flash 播放控件属性详解 一.属性篇 1.AlignMode(读写)  语法:AlignMode As Long  说明:对齐方式(与SAlign 属性联动).当控件的长宽比例与影片不一致且WMo ...

  9. nemesis什么车_狂野飙车9TrionNemesis介绍 S级车Trion复仇女神属性详解

    狂野飙车9S级车Trion Nemesis介绍,狂野飙车9S级车Trion复仇女神属性详解,下面雨落就为大家带来狂野飙车9S级车Trion复仇女神的改装升级所需卡牌已经金币等攻略. [赛车属性]: S ...

最新文章

  1. 北京 10 年,难说再见!
  2. Windows Server 2016-活动目录NTP时间同步
  3. CTFshow 反序列化 web254
  4. 算法提高课-图论-负环-AcWing 1165. 单词环:spfa判正环、二分、01分数规划
  5. windbg-奔溃生成的dump文件
  6. linux   图片
  7. java类验证和装载顺序_java中类的加载顺序介绍(ClassLoader)
  8. 《计算机导论》课程论文,计算机导论课程论文
  9. 一次tns连接错误的解决过程
  10. SLIC超像素分割详解(一)(二)(三)
  11. delphi7+firebird+dbexpress
  12. cad2014卡顿的解决方法_AutoCAD复制卡顿的两种可能原因和解决方案
  13. python面向对象oo是什么意思_python进阶:面向对象是什么意思?
  14. gentoo linux u盘安装,Gentoo系统安装步骤详解
  15. 如何部署一个属于自己的网站
  16. 小巧精美原厂轴 Cherry发布全新MX Board 1.0
  17. 为了证明苹果电脑会不会中毒,我把病毒拷了进去
  18. 【Xilinx】如何根据芯片封装尺寸绘制3D模型
  19. 学计算机要学数学么,学计算机数学要求高吗 数学不好怎么办?
  20. 【负荷预测】基于改进灰狼算法(IGWO)优化的LSSVM进行负荷预测(Matlab代码实现)

热门文章

  1. 实时监控Mysql数据库变化_进行数据同步_了解Canal_---Canal工作笔记001
  2. C# DataGridView控件动态添加行与列
  3. 华强北山寨“AirPods 3”出圈,油管博主直夸好
  4. 词频统计(仍需完善版)
  5. html渐变编织背景,css3编写浏览器背景渐变背景色
  6. 消息模型与生成pdf
  7. 健身与不健身五年后的差别?你可不能轻易忽视!
  8. 高效率整理电脑上的文件:清理电脑文件方案需要 -- 合理的方法 + 合适的工具如Python查找重复文件
  9. Word2019建立自己的模板
  10. 成功解决Windows和VM下的Ubuntu虚拟系统之间相互复制粘贴的问题