admin管理员组文章数量:1794759
css中的position属性
position 属性指定了元素的定位类型。 position 属性的值有5个:
- static
- relative(相对定位)和absulote(绝对定位)
- fixed定位
- sticky定位
- 重叠的元素
HTML 元素的默认值,即没有定位,遵循正常的文档流对象。静态定位的元素不会受到 top, bottom, left, right影响。
relative(相对定位)和absulote(绝对定位)css position 相对定位和绝对定位
relative:相对于原来位置移动,元素设置此属性之后仍然处在文档流中,不影响其他元素的布局 absolute:定位是相对于离元素最近的设置了绝对或相对定位的父元素决定的,如果没有父元素设置绝对或相对定位,则元素相对于根元素即html元素定位。设置了absolute的元素脱离了文档流,元素在没有设置宽度的情况下,宽度由元素里面的内容决定。脱离后原来的位置相当于是空的,下面的元素会来占据位置。 脱离文档流的效果 类似于 word 里面的图片 浮于文字上方。 例如: 在所有元素都是默认position的情况下,如图: 当第二层箱子添加了position:relative和top:60px和left:60px之后:
很明显,第二层箱子距离原本的位子向右和下分别移动了60px,且后面的元素保持原有的队形跟着移动,但是将父元素最外层箱子的下半部分给覆盖住了。 然后,如果在box1上添加position:absulote和left:60px、top:60px,就会变成: 当top:-60px对比: 离box1最近的 设置了relative或absolute的父级元素 是第二层箱子,所以box1的位置随第二层箱子的变化而变化。 box1就浮在了文档流上方,top的效果如上图。 box1中没有设置宽度,在设置了absulote之后,宽度就由内容决定了。 如果第二层箱子没有设置relative,box1会根据HTML定位。
fixed定位元素的位置相对于浏览器窗口是固定位置。即使窗口是滚动的它也不会移动,没错就是你想的那样,像一个不能移动的悬浮窗。
sticky定位sticky 英文字面意思是粘,粘贴,所以可以把它称之为粘性定位。 position: sticky; 基于用户的滚动位置来定位。
粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。
元素定位表现为在跨越特定阈值前为相对定位,之后为固定定位。这个特定阈值指的是 top, right, bottom 或 left 之一,换言之,指定 top, right, bottom 或 left 四个阈值其中之一,才可使粘性定位生效。否则其行为与相对定位相同。
重叠的元素元素的定位与文档流无关,所以它们可以覆盖页面上的其它元素
z-index属性指定了一个元素的堆叠顺序(哪个元素应该放在前面,或后面) 一个元素可以有正数或负数的堆叠顺序: 菜鸟教程实例 具有更高堆叠顺序的元素总是在较低的堆叠顺序元素的前面。
注意: 如果两个定位元素重叠,没有指定z - index,最后定位在HTML代码中的元素将被显示在最前面。
内容参考:菜鸟教程 CSS Position(定位)
版权声明:本文标题:css中的position属性 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686971671a123953.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论