美文网首页
CSS粘性定位实现吸顶效果

CSS粘性定位实现吸顶效果

作者: 刘圣凯 | 来源:发表于2020-05-22 15:35 被阅读0次

    吸顶效果在项目中并不少见, 通常做法是使用 javascript 监听 scroll,不过今天要说的这个方法,是使用css来完成吸顶效果。
    关于 positoin ,CSS3新发布的一个属性 sticky,这个属性很有意思,设置了sticky的元素,在屏幕范围(viewport)时该元素的位置并不受到定位影响,但是当该元素的位置将要移出偏移范围时,定位又会变成fixed,根据设置的left、top等属性成固定位置,从而达到吸顶的效果,大家可以复制以下demo打开看看效果

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
        .title{
            width: 100%;
            position: sticky;
            top:0px;
            text-align: center;
            background: #ccc;
            color: #fff;
        }
        .title span{
          padding: 8px 12px;
          margin: 0;
        }
        .content{
            height: 3000px;
            padding: 20px;
        }
        </style>
    </head>
    <body>
        <div>
            <div class="title">
              <span>topbar1</span>
              <span>topbar2</span>
              <span>topbar3</span>
            </div>
            <div class="content"> 
              <p>假装这里是很多内容</p> 
              <p>假装这里是很多内容</p> 
              <p>假装这里是很多内容</p> 
              <p>假装这里是很多内容</p> 
              <p>假装这里是很多内容</p> 
              <p>假装这里是很多内容</p> 
              <p>假装这里是很多内容</p> 
              <p>假装这里是很多内容</p> 
              <p>假装这里是很多内容</p> 
              <p>假装这里是很多内容</p> 
              <p>假装这里是很多内容</p> 
              <p>假装这里是很多内容</p> 
              <p>假装这里是很多内容</p> 
              <p>假装这里是很多内容</p> 
              <p>假装这里是很多内容</p> 
              <p>假装这里是很多内容</p> 
            </div>
        </div>
        
    </body>
    </html>
    

    简直和 js 控制的一模一样! 看起来是很美好了, 这么方便的属性,是不是马上就get了呢, 先别急,让我们看看兼容性,下图呢就是各大主流浏览器的支持性了


    image.png

    在 Can I use 的介绍里说到

    保持元素定位为“fixed”或“relative”取决于它如何出现在视口。因此,当需要滚动时,元素会“卡住”。

    然后往下看,兼容性有点 强差人意,IE完全不支持,edge支持率还好,高版本火狐以及谷歌都支持,以及iOS上的火狐, 各位可以看需求以及使用场景决定是否使用这个属性。

    相关文章

      网友评论

          本文标题:CSS粘性定位实现吸顶效果

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