position: sticky

sticky 的本意是粘糊糊的,但在 css 中的表现更像是吸附。常见的吸顶、吸底(移动端网站的头部返回栏,底部切换栏之类)的效果用这个属性非常适合。

也许你会遇到的坑

1、sticky 不会触发 BFC。
2、z-index 无效。
3、sticky 是容器相关的,也就说 sticky 的特性只会在他所处的容器里生效

实例

html页面

<!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>
</head>
<body>
    <div class="boxOne">
        <p>this is boxOne</p>
        <span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates quasi quidem asperiores, 
            corporis sint ex sequi, totam quas libero praesentium dignissimos quos, omnis nihil iure temporibus 
            voluptate officiis beatae sapiente cupiditate aut alias laborum porro doloremque. Neque necessitatibus
            error reprehenderit quidem atque aliquid sint, earum aperiam soluta. Nihil perspiciatis fugiat, quasi 
            quidem illum totam tempora eveniet aspernatur eos, repudiandae vel laborum. Aperiam assumenda explicabo
            voluptatem dolor at quibusdam, voluptates dolorum fugit recusandae adipisci rem autem maiores, nesciunt
            consequatur. Veritatis aliquam recusandae modi autem, numquam, earum tenetur voluptates quos officia 
            magni unde dolore, nam repudiandae odit accusantium quam sed impedit est.
        </span>
    </div>
    <div class="boxTwo">
        <p>this is boxTwo</p>
        <span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates quasi quidem asperiores, 
            corporis sint ex sequi, totam quas libero praesentium dignissimos quos, omnis nihil iure temporibus 
            voluptate officiis beatae sapiente cupiditate aut alias laborum porro doloremque. Neque necessitatibus
            error reprehenderit quidem atque aliquid sint, earum aperiam soluta. Nihil perspiciatis fugiat, quasi 
            quidem illum totam tempora eveniet aspernatur eos, repudiandae vel laborum. Aperiam assumenda explicabo
            voluptatem dolor at quibusdam, voluptates dolorum fugit recusandae adipisci rem autem maiores, nesciunt
            consequatur. Veritatis aliquam recusandae modi autem, numquam, earum tenetur voluptates quos officia 
            magni unde dolore, nam repudiandae odit accusantium quam sed impedit est.
        </span>
    </div>
    <div class="boxThree">
        <p>this is boxThree</p>
        <span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates quasi quidem asperiores, 
            corporis sint ex sequi, totam quas libero praesentium dignissimos quos, omnis nihil iure temporibus 
            voluptate officiis beatae sapiente cupiditate aut alias laborum porro doloremque. Neque necessitatibus
            error reprehenderit quidem atque aliquid sint, earum aperiam soluta. Nihil perspiciatis fugiat, quasi 
            quidem illum totam tempora eveniet aspernatur eos, repudiandae vel laborum. Aperiam assumenda explicabo
            voluptatem dolor at quibusdam, voluptates dolorum fugit recusandae adipisci rem autem maiores, nesciunt
            consequatur. Veritatis aliquam recusandae modi autem, numquam, earum tenetur voluptates quos officia 
            magni unde dolore, nam repudiandae odit accusantium quam sed impedit est.
        </span>
    </div>
    <div class="boxFour">
        <p>this is boxFour</p>
        <span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates quasi quidem asperiores, 
            corporis sint ex sequi, totam quas libero praesentium dignissimos quos, omnis nihil iure temporibus 
            voluptate officiis beatae sapiente cupiditate aut alias laborum porro doloremque. Neque necessitatibus
            error reprehenderit quidem atque aliquid sint, earum aperiam soluta. Nihil perspiciatis fugiat, quasi 
            quidem illum totam tempora eveniet aspernatur eos, repudiandae vel laborum. Aperiam assumenda explicabo
            voluptatem dolor at quibusdam, voluptates dolorum fugit recusandae adipisci rem autem maiores, nesciunt
            consequatur. Veritatis aliquam recusandae modi autem, numquam, earum tenetur voluptates quos officia 
            magni unde dolore, nam repudiandae odit accusantium quam sed impedit est.
        </span>
    </div>
    <div class="boxFive">
        <p>this is boxFive</p>
        <span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates quasi quidem asperiores, 
            corporis sint ex sequi, totam quas libero praesentium dignissimos quos, omnis nihil iure temporibus 
            voluptate officiis beatae sapiente cupiditate aut alias laborum porro doloremque. Neque necessitatibus
            error reprehenderit quidem atque aliquid sint, earum aperiam soluta. Nihil perspiciatis fugiat, quasi 
            quidem illum totam tempora eveniet aspernatur eos, repudiandae vel laborum. Aperiam assumenda explicabo
            voluptatem dolor at quibusdam, voluptates dolorum fugit recusandae adipisci rem autem maiores, nesciunt
            consequatur. Veritatis aliquam recusandae modi autem, numquam, earum tenetur voluptates quos officia 
            magni unde dolore, nam repudiandae odit accusantium quam sed impedit est.
        </span>
    </div>
</body>
</html>

css样式:

p{
  position: sticky;
  top: 0;
  background: red;
}

效果:

GIF.gif
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,026评论 1 92
  • 2020.06.08更新 在研究rem布局时,无意中看到网易新闻移动端首页的导航栏用上了一个CSS 3的属性粘性定...
    这名字真不对阅读 16,940评论 7 20
  • 网站顶部的导航栏固定与否,显示隐藏与否的问题?如果不固定(position: relative),那么滚屏时,导航...
    灵籁阅读 4,283评论 0 0
  • 如果你想想做这样一个滚动跟随。那你肯定第一时间想到的一定是 position:fixed; 这个css 属性,然后...
    Northerner阅读 4,725评论 0 0
  • 如果你想想做这样一个滚动跟随。那你肯定第一时间想到的一定是position:fixed;这个css 属性,然后加上...
    何暖暖阅读 1,133评论 0 0

友情链接更多精彩内容