vue|Vue自定义网页顶部导航栏

Vue自定义web网页顶部导航栏

说明:此组件是为论坛类项目定制的一个实用的顶部导航栏,当然也可以用于其他的Web项目,只需要稍作修改便可以达到想要的效果。其中导航栏包含了搜索栏,用户头像,以及基本的导航标题。导航栏标题的选中是通过 vue-router(路由)实现。
*:文末附下载连接*
导航栏效果
vue|Vue自定义网页顶部导航栏
文章图片

详细步骤
第一步:安装 vue-router
npm i vue-router@3

第二步:在 main.js 中引入和使用 VueRouter
import VueRouter from 'vue-router'; Vue.use(VueRouter)

第三步: 创建一个组件BBSHeader
> export default { name: "BBSHeader" } scoped> .header{ display: flex; align-items: center; justify-content: space-between; height: 50px; background-color:#292c2f; color: #ffffff; /*吸顶效果*/ /* position: sticky; position: -webkit-sticky; !*兼容 -webkit 内核的浏览器*! top: 0px; !*必须设一个值,否则不生效*!*/} .box{ display: flex; align-items: center; } h1{ display: flex; align-items: center; font: normal 28px Cookie, Arial, Helvetica, sans-serif; padding: 0px 20px; } img{ width: 40px; height: 40px; }nav { display: flex; align-items: center; margin: 0px 40px; font:16px Arial, Helvetica, sans-serif; } nav a{ padding: 0 15px; width: 32px; text-decoration:none; color: #ffffff; font-size: 16px; font-weight: normal; opacity: 0.9; }nav a:hover { opacity: 1; }.active { color: #608bd2; pointer-events: none; opacity: 1; }/*搜索框*/.text{ height: 22px; font-size: 14px; border: 1px solid #ccc; padding: 3px 16px; border-bottom-left-radius: 20px; border-top-left-radius: 20px; } .text:focus{ outline: none; border-color: rgba(82, 168, 236, 0.8); box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); } .button{ width: 60px; height: 30px; font-size: 14px; margin-right: 35px; border: 1px solid #608bd2; background-color: #608bd2; border-top-right-radius: 20px; border-bottom-right-radius: 20px; }.contents{ display: flex; justify-content: center; } .content{ display: flex; width: 1400px; height: 1400px; /*background-color: #f0f2f3; */ }

【vue|Vue自定义网页顶部导航栏】第四步:创建一个路由器
新建如下文件夹和文件
|–pages
? |–BBSAsk.vue
? |–BBSCommunity.vue
? |–BBSHome.vue
|–router
? |–index.js
其中index.js中的内容如下
import VueRouter from 'vue-router'; import BBSHome from "@/pages/BBSHome"; import BBSAsk from "@/pages/BBSAsk"; import BBSCommunity from "@/pages/BBSCommunity"; //创建一个路由器 const router = new VueRouter({ mode: 'history', routes:[ { name: 'home', path:'/home', component:BBSHome, }, { name: 'ask', path: '/ask', component: BBSAsk, }, { name:'community', path: '/community', component:BBSCommunity, } ] }) export default router

第五步:在 main.js 中引入创建好的 router
import router from "@/router"; //在 new Vue对象的时候声明 router new Vue({ el:'#app', render: h => h(App), router, })

第六步:在 APP.vue 中使用 BBSHeader 组件就可
> import BBSHeader from "@/components/BBSHeader"; export default { name: 'App', components: {BBSHeader}, }

备注:网页字体可以在 index.html 中做如下引入

下载地址 京茶吉鹿
?提取码?: 63zu

    推荐阅读