美文网首页
css吸顶效果实现

css吸顶效果实现

作者: 懿小诺 | 来源:发表于2023-03-01 16:54 被阅读0次

    在网上看了一些博客 方法千篇一律 除了使用postion的sticky外 (兼容性不好)
    最常见的就是监听滚动条的变化,动态给元素设置fixed定位了
    但是这种方法其实是有bug的
    表现为:当滚动条的可滚动区域刚好是元素高度时,滚动条滚不到最下面 会抖动的循环跳
    原因是:元素变为fixed布局 高度沦陷了
    解决方法为:给需要吸顶的元素平级 写个标签 高度为需要吸顶元素的高度
    代码如下:
    dom

    <div style="height: 68px" v-show="isFixed"></div>
    <div class="top flex_between" :class="{'isFixed': isFixed}">
    </div>
    

    css

    .isFixed {
        position: fixed;
        top: 60px;
        z-index: 8;
        left: 0;
        width: 100%;
    }
    

    js

    mounted () {
          this.offsetTop = document.querySelector('.TransportPlan .tabs').offsetTop
          console.log('offsetTop', this.offsetTop)
          // 监听滚动条
          window.addEventListener('scroll', this.fixedFun)
    }
    
     fixedFun () {
          const scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
          this.isFixed = scrollTop > this.offsetTop
        },
    

    相关文章

      网友评论

          本文标题:css吸顶效果实现

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