首页  >  文章  >  web前端  >  css怎么设置粘性定位

css怎么设置粘性定位

王林
王林原创
2020-11-23 11:03:057316浏览

css设置粘性定位的方法:直接在css的选择器中写【position:sticky】就可以了。粘性定位可以被认为是相对定位和固定定位的混合,元素在跨越特定阈值前为相对定位,之后为固定定位。

css怎么设置粘性定位

本教程操作环境:windows10系统、css3版,该方法适用于所有品牌电脑。

(学习视频分享:css视频教程

css设置粘性定位的方法:

在css的选择器里面直接写position:sticky就可以了。

粘性定位可以被认为是相对定位和固定定位的混合。元素在跨越特定阈值前为相对定位,之后为固定定位。这个特定阈值指的是 top, right, bottom 或 left 之一,换言之,指定 top, right, bottom 或 left 四个阈值其中之一,才可使粘性定位生效。否则其行为与相对定位相同。

粘性定位中有一个“流盒”(flow box)的概念,指的是粘性定位元素最近的可滚动元素(overflow 属性值不是 visible 的元素)的尺寸盒子,如果没有可滚动元素,则表示浏览器视窗盒子。

在css的选择器里面直接写position:sticky就可以了,不再举例,主要是强调以下几点:

1、粘性元素的位置只相对于第一个有滚动的父级块元素定位(scrolling mechanism,通过 overflow 设置为overflow/scroll/auto/overlay 的元素),而不是父级块元素。codepen示例

2、只有当设置对应的方向(top/right/bottom/left),才会有作用,并且可以互相叠加,可以同时设置四个方向。

3、即使设置了 position: sticky,也只能显示在父级块元素的内容区域,他无法超出这个区域,除非你设置了负数的值。

4、position: sticky 并不会触发 bfc,简单来讲就是计算高度的时候不会计算 float 元素。

5、当设置了 positi on: sticky 之后,内部的定位会相对于这个元素(codepen示例)

6、虽然 position: sticky 表现的像 relative 或者 fixed,所以也是可以通过 z-index 设置他们的层级。当这个元素的后面的兄弟节点会覆盖这个元素的时候,可以通过 z-index 调节层级。(codepen示例)

7、粘性布局元素的父级元素在可视范围内,该元素的布局为relative,反之,则为fixed。

相关推荐:CSS教程

以上是css怎么设置粘性定位的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn