美文网首页
position: sticky; 基于用户的滚动位置来定位。

position: sticky; 基于用户的滚动位置来定位。

作者: keknei | 来源:发表于2021-08-11 17:31 被阅读0次

    在做项目的过程中,我们经常会遇到一种需求,一个元素,在滚动的过程中,一旦到达某个位置,就会固定在页面的顶部,或者别的地方,我们常规的思路就是用js判断他的位置和滚动距离来做是否fixed定位

    现在春天来了,position新加了一个属性值sticky粘性定位。

    粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换
    它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。
    元素定位表现为在跨越特定阈值前为相对定位,之后为固定定位。
    这个特定阈值指的是 top, right, bottom 或 left 之一,换言之,指定 top, right, bottom 或 left 四个阈值其中之一,才可使粘性定位生效。否则其行为与相对定位相同。

    举个例子

    html

    <p>尝试滚动页面。</p>
    <p>注意: IE/Edge 15 及更早 IE 版本不支持 sticky 属性。</p>
    
    <div class="sticky">我是粘性定位!</div>
    
    <div style="padding-bottom:2000px">
      <p>滚动我</p>
      <p>来回滚动我</p>
      <p>滚动我</p>
      <p>来回滚动我</p>
      <p>滚动我</p>
      <p>来回滚动我</p>
    </div>
    

    css

    div.sticky {
      position: -webkit-sticky;
      position: sticky;
      top: 0px;
      padding: 5px;
      background-color: #cae8ca;
      border: 2px solid #4CAF50;
    }
    

    大家实现看一下效果就知道怎么回事儿了,非常简单方便,春天啊

    相关文章

      网友评论

          本文标题:position: sticky; 基于用户的滚动位置来定位。

          本文链接:https://www.haomeiwen.com/subject/fumcbltx.html