定位Position

定位介绍

定位使我们能够覆盖基本文档流行为,以产生有趣的效果。

position.
一共有五种不同的定位值:staticrelativefixedabsolutesticky.

静态定位

静态定位是每个元素都会获得的默认位置-只是意味着“将元素放入文档布局流程中的正常位置-在这里看不到什么特别之处”。

静态定位的元素不受top,bottom,left和right属性的影响

静态定位是默认行为!始终根据页面的正常流进行定位

相对定位

相对定位的元素原本在标准文档流中的位置保留在原地,元素根据相对定位的偏移量在原来的位置基础上移动

设置相对放置的元素的top,right,bottom和left属性将导致其偏离其正常位置进行调整。 其他内容将不进行调整以适合元素留下的任何间隙。也就是说相对定位的元素在标准文档流中的位置一直保留着

相对定位是我们要研究的第一种位置类型。 这与静态定位非常相似,不同之处在于,一旦定位的元素在常规布局流程中占据了位置,则可以修改其最终位置,包括使其与页面上的其他元素重叠。

如果只是将被定位的元素设置为position:relative在此阶段保存并刷新,则根本看不到结果有任何变化。 那么如何修改元素的位置呢? 您需要使用topbottomleftright属性,这些属性和relative一起使用

如果我们指定了顶部和左侧,为什么它会移到底部和右侧? 最初听起来不合逻辑,但这只是相对定位起作用的方式-您需要考虑一种不可见的力,该力会推动已定位盒子的指定侧面,并朝相反方向移动。 因此,例如,如果指定top:30px ;,则用力推动框的顶部,使其向下移动30px。

绝对定位

An element with position: absolute; is positioned relative to the nearest positioned ancestor (instead of positioned relative to the viewport, like fixed).

However; if an absolute positioned element has no positioned ancestors, it uses the document body, and moves along with page scrolling.

Note: A “positioned” element is one whose position is anything except static.(绝对定位的参考元素如果是定位的父元素,那么该元素的定位值不可以是默认的,如果是默认的,绝对定位将不参考该元素)

绝对定位的元素是相对于最近定位的祖先元素定位的(而不是相对于视口定位,不管他的父元素是什么定位值)。
绝对定位的元素会脱离标准文档流
常规文档布局流程中不再存在绝对定位的元素。 取而代之的是,它位于与其他所有内容分开的自己的图层上。 这非常有用:这意味着我们可以创建独立的UI功能,而不会干扰页面上其他元素的布局。 例如,弹出信息框和控制菜单;

当把一个绝对定位的元素的top,left,right,bottom,margin全部都设置为0的时候,该元素就会占满整个可视窗口
被绝对定位的元素仍然可以使用margin边距来影响自身的布局

在这里插入图片描述

图层

当元素开始重叠时,是什么决定哪些元素出现在其他元素之上? 在到目前为止的示例中,由于定位元素胜过未定位元素,因此在定位上下文中我们只有一个定位元素,它出现在顶部。 当我们有一个以上的时候呢?

改变图层的堆叠顺序

网页也有一个z轴:一条假想的线,它从屏幕的表面一直延伸到您的脸部(或您希望在屏幕前面拥有的任何其他东西)。 z索引值会影响定位的元素在该轴上的位置; 正值将它们移到堆栈上方,负值将它们移到堆栈下方。 默认情况下,所有定位元素的z索引均为auto,实际上为0。

固定定位

固定定位和绝对定位很像,不过固定定位会在可视窗口中的某一个位置固定下来,而绝对定位不会固定在某一个位置

固定定位的元素是相对于视口定位的,这意味着即使滚动页面,它也始终位于同一位置。
top,right,bottom和left属性用于定位元素。

A fixed element does not leave a gap in the page where it would normally have been located.(固定定位的元素会脱离原来的文档流,并且使用了定位的元素他的图层默认高于标准流)

粘性定位

粘性定位在滚动之前它是像相对定位一样,当滚动滚动条将该元素滚动到指定位置之后该元素就会固定下来,所以粘性定位有固定定位和相对定位的双重特性

粘性元素根据滚动位置在相对和固定之间切换
它将相对定位,直到在视口中遇到给定的偏移位置为止-然后将其“粘贴”在适当的位置

You must also specify at least one of top, right, bottom or left for sticky positioning to work.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值