position四个属性详解
1. position:static;
这个属性让元素使用正常的布局(元素在文档常规流中当前的布局位置)。
- 也就是说元素没加这个属性和加了以后位置都是不变的
- 只是此时
top
,right
,bottom
,left
和z-index
属性无效。
2. position:relative;
:相对定位
- 在元素原有的位置基础上,根据设置的
top,left
调整元素位置 - 不会改变页面布局,不影响其他元素的偏移,因此会在此元素未添加定位时所在位置留下空白
position:relative
对table-*-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
,perspective
或filter
属性非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
, bottom
或 left
四个阈值其中之一,才可使粘性定位生效。否则其行为与相对定位相同。
position四个属性详解相关推荐
- position和float属性详解
当构建页面排版时,有不同的方法可以使用.使用哪一种方法取决于具体页面的排版要求,在不同的情况下,某些方法可能好过于其他的方法. 比如,可以使用若干个浮动元素来构建一个整洁简洁的页面排版.或者,如果需要 ...
- HTML中元素的position属性详解
HTML中元素的position属性详解 转载自:https://blog.csdn.net/wangzunkuan/article/details/81540935 HTML中DOM元素有5种定位属 ...
- CSS margin属性详解
CSS margin属性详解 我发现当我想写好一篇博文的时候,希望以后能有人看到,会对别人也有一定的帮助,这时候对于其中的内容就变得深思熟虑起来,让自己查阅尽可能多的资料,这样的方式正好可以弥补我某些 ...
- overflow属性详解
overflow属性详解_桃花扇J的博客-CSDN博客_overflow属性 原链接 overflow是对溢出内容的处理,有四个属性值visible,hidden,scroll,auto,且可以分别设 ...
- css动画相关属性详解
css动画相关属性详解 文章目录 css动画相关属性详解 什么是CSS动画? 一.@keyframes规则 二.延迟动画-animation-delay 三.设置动画应运行多少次animation-i ...
- 【NLP】四万字全面详解 | 深度学习中的注意力机制(四,完结篇)
作者 | 蘑菇先生 知乎 | 蘑菇先生学习记 深度学习Attention小综述系列: 四万字全面详解 | 深度学习中的注意力机制(一) 四万字全面详解 | 深度学习中的注意力机制(二) 四万字全面详解 ...
- 【NLP】四万字全面详解 | 深度学习中的注意力机制(三)
NewBeeNLP原创出品 公众号专栏作者@蘑菇先生 知乎 | 蘑菇先生学习记 深度学习Attenion小综述系列: 四万字全面详解 | 深度学习中的注意力机制(一) 四万字全面详解 | 深度学习中的 ...
- Flash播放控件属性详解
Flash 播放控件属性详解 一.属性篇 1.AlignMode(读写) 语法:AlignMode As Long 说明:对齐方式(与SAlign 属性联动).当控件的长宽比例与影片不一致且WMo ...
- nemesis什么车_狂野飙车9TrionNemesis介绍 S级车Trion复仇女神属性详解
狂野飙车9S级车Trion Nemesis介绍,狂野飙车9S级车Trion复仇女神属性详解,下面雨落就为大家带来狂野飙车9S级车Trion复仇女神的改装升级所需卡牌已经金币等攻略. [赛车属性]: S ...
最新文章
- 北京 10 年,难说再见!
- Windows Server 2016-活动目录NTP时间同步
- CTFshow 反序列化 web254
- 算法提高课-图论-负环-AcWing 1165. 单词环:spfa判正环、二分、01分数规划
- windbg-奔溃生成的dump文件
- linux 图片
- java类验证和装载顺序_java中类的加载顺序介绍(ClassLoader)
- 《计算机导论》课程论文,计算机导论课程论文
- 一次tns连接错误的解决过程
- SLIC超像素分割详解(一)(二)(三)
- delphi7+firebird+dbexpress
- cad2014卡顿的解决方法_AutoCAD复制卡顿的两种可能原因和解决方案
- python面向对象oo是什么意思_python进阶:面向对象是什么意思?
- gentoo linux u盘安装,Gentoo系统安装步骤详解
- 如何部署一个属于自己的网站
- 小巧精美原厂轴 Cherry发布全新MX Board 1.0
- 为了证明苹果电脑会不会中毒,我把病毒拷了进去
- 【Xilinx】如何根据芯片封装尺寸绘制3D模型
- 学计算机要学数学么,学计算机数学要求高吗 数学不好怎么办?
- 【负荷预测】基于改进灰狼算法(IGWO)优化的LSSVM进行负荷预测(Matlab代码实现)
热门文章
- 实时监控Mysql数据库变化_进行数据同步_了解Canal_---Canal工作笔记001
- C# DataGridView控件动态添加行与列
- 华强北山寨“AirPods 3”出圈,油管博主直夸好
- 词频统计(仍需完善版)
- html渐变编织背景,css3编写浏览器背景渐变背景色
- 消息模型与生成pdf
- 健身与不健身五年后的差别?你可不能轻易忽视!
- 高效率整理电脑上的文件:清理电脑文件方案需要 -- 合理的方法 + 合适的工具如Python查找重复文件
- Word2019建立自己的模板
- 成功解决Windows和VM下的Ubuntu虚拟系统之间相互复制粘贴的问题