Vue实现导航吸顶效果的教程详解

 更新时间:2024年01月26日 10:08:53   作者:前端怎么个事  
在浏览器上下滚动的时候,如何距离顶部的距离大于78px,吸顶显示,小于78px则隐藏,所以本文小编给大家介绍了Vue设置导航吸顶的详细教程,文中有相关的代码示例供大家参考,具有一定的参考价值,需要的朋友可以参考下

在浏览器上下滚动的时候,如何距离的顶部的距离大于78px,吸顶显示,小于78px则隐藏

工具类安装:npm i @vueuse/core

创建吸顶页面 fixed.vue:

<script setup>
// vueUse
import { useScroll } from '@vueuse/core'
const { y } = useScroll(window)

</script>

<template>
  <div class="app-header-sticky" :class="{ show: y > 78 }">
    <div class="container">
      <RouterLink class="logo" to="/" />
      <!-- 导航区域 -->
      <div class="right">
        <RouterLink to="/">品牌</RouterLink>
        <RouterLink to="/">专题</RouterLink>
      </div>
    </div>
  </div>
</template>


<style scoped lang='scss'>
.app-header-sticky {
  width: 100%;
  height: 80px;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 999;
  background-color: #fff;
  border-bottom: 1px solid #e4e4e4;
  // 此处为关键样式!!!
  // 状态一:往上平移自身高度 + 完全透明
  transform: translateY(-100%);
  opacity: 0;

  // 状态二:移除平移 + 完全不透明
  &.show {
    transition: all 0.3s linear;
    transform: none;
    opacity: 1;
  }

  .container {
    display: flex;
    align-items: center;
  }

  .logo {
    width: 200px;
    height: 80px;
    background: url("@/assets/images/logo.png") no-repeat right 2px;
    background-size: 160px auto;
  }

  .right {
    width: 220px;
    display: flex;
    text-align: center;
    padding-left: 40px;
    border-left: 2px solid $xtxColor;

    a {
      width: 38px;
      margin-right: 40px;
      font-size: 16px;
      line-height: 1;

      &:hover {
        color: $xtxColor;
      }
    }
  }
}
</style>

引用该组件:

效果:

到此这篇关于Vue设置导航吸顶的教程详解的文章就介绍到这了,更多相关Vue设置导航吸顶内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决element-ui el-checkbox的一些坑

    解决element-ui el-checkbox的一些坑

    这篇文章主要介绍了解决element-ui el-checkbox的一些坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Vue实现点击时间获取时间段查询功能

    Vue实现点击时间获取时间段查询功能

    这篇文章主要为大家详细介绍了Vue实现点击时间获取时间段查询功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • 基于Vue+ECharts实现地图展示与交互

    基于Vue+ECharts实现地图展示与交互

    这篇文章中,我将逐步介绍如何使用 Vue 和 ECharts 实现一个互动式的地图展示组件,其中支持返回上一层地图、点击查看不同城市的详细信息,以及根据数据动态展示不同的统计信息,感兴趣的小伙伴跟着小编一起来看看吧
    2025-02-02
  • Vue 实现v-for循环的时候更改 class的样式名称

    Vue 实现v-for循环的时候更改 class的样式名称

    这篇文章主要介绍了Vue 实现v-for循环的时候更改 class的样式名称,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • 详解Vue-Cli 异步加载数据的一些注意点

    详解Vue-Cli 异步加载数据的一些注意点

    本篇文章主要介绍了详解Vue-Cli 异步加载数据的一些注意点,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • vue打包通过image-webpack-loader插件对图片压缩优化操作

    vue打包通过image-webpack-loader插件对图片压缩优化操作

    这篇文章主要介绍了vue打包通过image-webpack-loader插件对图片压缩优化操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • vue实现动态绑定行内样式style的backgroundImage

    vue实现动态绑定行内样式style的backgroundImage

    这篇文章主要介绍了vue实现动态绑定行内样式style的backgroundImage方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • 浅谈vue3中effect与computed的亲密关系

    浅谈vue3中effect与computed的亲密关系

    这篇文章主要介绍了浅谈vue3中effect与computed的亲密关系,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果

    Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果

    这篇文章主要介绍了Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果,通过实例代码相结合的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • vue iview实现动态路由和权限验证功能

    vue iview实现动态路由和权限验证功能

    这篇文章主要介绍了vue iview实现动态路由和权限验证功能,动态路由控制分为两种:一种是将所有路由数据存储在本地文件中,另一种则是本地只存储基本路由,具体内容详情大家参考下此文
    2018-04-04

最新评论