效果图:

实现起来很简单,下面主要代码

  page_width() {let screenWidth = window.screen.width;console.log(screenWidth);if (screenWidth < 800) {this.fullWidth = false;} else {this.fullWidth = true;}}
 mounted() {window.onresize = () => {this.page_width();};this.page_width();}

然后在html判断一下

<div v-if="fullWidth">pc导航</div><transition name="toggle-cart"><div v-if="!fullWidth">移动导航导航</div></template>

vue的动画样式

``
.toggle-cart-enter-active,
.toggle-cart-leave-active {
transition: all 0.4s ease-out;
}
.toggle-cart-enter,
.toggle-cart-leave-active {
transform: translateY(-100%);

完整代码(还可以修改优化一下):

<template><div class="Topnav"><div class="Topnav_item" style="background:#1286fd"><div class="Topnav_img_box"><router-link to="/"><!-- logo --><img src="@/assets/images/logo.png" alt />  </router-link></div><!-- pc端导航 --><div class="flex_box mymakeinfo" v-show="fullWidth"><div>首页</div><div>店铺装修</div><div>账户信息</div><div>模板管理</div><div>我的消息</div><div> <a target="_blank" href="">我的站点</a></div><div>新手入门</div><div>安全退出</div></div><!-- 导航图标 --><div class="H5_item" v-show="!fullWidth">  <svg-icon icon-class="list" @click="make_menu" class-name="H5-menu" /></div></div><!-- 移动端导航 --><transition name="toggle-cart"><div class="H5-menu-item" style='background:#1286fd' v-show="!fullWidth&&!dismenu"><div>首页</div><div>店铺装修</div><div>账户信息</div><div>模板管理</div><div>我的消息</div><div> <a target="_blank" href="">我的站点</a></div><div>新手入门</div><div>安全退出</div></div></transition><div style="height:75px"></div></div>
</template><script>
export default {name: "Topnav",data() {return {pagetype: "index",fullWidth: true,dismenu: true};},methods: {make_menu() { //点击导航图标this.dismenu = !this.dismenu;},page_width() {//获取屏幕宽度let screenWidth = window.screen.width;console.log(screenWidth);if (screenWidth < 800) {this.fullWidth = false;} else {this.fullWidth = true;}}},computed: {},mounted() {window.onresize = () => {//监听屏幕变化this.page_width();};this.page_width();},created(){}
};
</script><style lang="scss">
.Topnav_img_box {width: 12rem;display: flex;align-items: center;justify-content: center;img{width: 100%;margin-left: 40px;}
}
.Topnav_nav_box {width: 560px;padding: 0 60px;justify-content: space-between;
}
.this_tnbd_div {background-color: rgba(0, 0, 0, 0.3);
}
.Topnav_nav_box div {padding: 0 21px;height: 36px;font-size: 14px;line-height: 36px;border-radius: 18px;
}.Topnav .Topnav_item {position: fixed;display: flex;top: 0;z-index: 1999;left: 0;height: 74px;color: #fff;width: 100%;.H5_item {position: absolute;right: 14px;top: 24px;.H5-menu {font-size: 22px;}}
}
.H5-menu-item {color: #fff;width: 120px;position: fixed;z-index: 20190705;right: 0px;top: 75px;div {height: 42px;line-height: 42px;text-align: center;}
}
.mymakeinfo {position: absolute;right: 30px;top: 0;justify-content: space-around;font-size: 14px;height: 74px;
}
.mymakeinfo div {height: 36px;line-height: 36px;border-radius: 17px;padding: 0 20px;
}
.flex_box {display: flex;align-items: center;
}
.toggle-cart-enter-active,
.toggle-cart-leave-active {transition: all 0.4s ease-out;
}
.toggle-cart-enter,
.toggle-cart-leave-active {transform: translateY(-100%);
}
</style>

利用vue 实现一个响应式导航相关推荐

  1. 【前端实例代码】如何使用 HTML 和 CSS 快速创建一个响应式导航栏

    效果图: 大屏: 小屏: bilibili在线视频演示地址: [前端实例代码]如何使用 HTML 和 CSS 快速创建一个响应式导航栏nav_哔哩哔哩_bilibili完整代码在这里:https:// ...

  2. Java程序员的日常 —— 响应式导航Demo

    这两天想要做响应式的页面,于是本着重复造轮子的想法,模仿Bootstrap官网,精简了一个响应式导航的Demo. 效果 代码 <!DOCTYPE html> <html> &l ...

  3. html5响应式导航条,10个响应式设计的导航菜单源码-附教程

    10个响应式设计的导航菜单源码-附教程 Sponsor 在2013年里,响应式Web设计将会开始普及,我们应该学习这些新技术,尤其作为网页设计师和前端开发人员,学习CSS3样式表和HTML5是必不可少 ...

  4. 【前端代码实例】使用HTML5+CSS3+JavaScript制作一个响应式的后台管理系统~带侧边导航栏仪表盘功能

    bilibili在线视频演示地址: [前端代码实例]使用HTML5+CSS3+JavaScript制作一个响应式的后台管理系统~带侧边导航栏仪表盘功能 效果图: 完整代码: <!DOCTYPE ...

  5. 深入剖析Vue源码 - 响应式系统构建(上)

    从这一小节开始,正式进入Vue源码的核心,也是难点之一,响应式系统的构建.这一节将作为分析响应式构建过程源码的入门,主要分为两大块,第一块是针对响应式数据props,methods,data,comp ...

  6. 【Vue 3.0 新特性(四)】Vue 3.0 响应式系统原理

    文章前言 笔记来源:拉勾教育 大前端高薪训练营 阅读建议:内容较多,建议通过左侧导航栏进行阅读 Vue 3.0 响应式系统原理 基础回顾 Vue.js 响应式回顾 Proxy 对象实现属性监听 多层属 ...

  7. 响应式 导航_检查响应式导航模式

    响应式 导航 随着网页设计师创建越来越多的响应式网站,我们处理全球导航的方式不断出现. 这是专注于如何开发其中一些模式的系列文章中的第一篇. 这篇文章将涵盖三种响应式导航模式: 顶部导航,优先级和选择 ...

  8. 详细介绍Vue的数据响应式

    Vue.js的核心包括一套"响应式系统"."响应式",是指当数据改变后,Vue会通知到使用该数据的代码.例如,视图渲染中使用了数据,数据改变后,视图也会自动更新 ...

  9. 15款帮助你实现响应式导航的 jQuery 插件

    对于我们大多数人来说,建立一个负责任的布局中最困难的方面是规划和导航的实现.由于没有真正经得起考验的通用解决方案,您可以使用的菜单设计风格将取决于正在建设的网站类型. 无论你正在建设什么类型的网站,在 ...

最新文章

  1. C++:随笔6---new\delete\虚方法\抽象方法
  2. 如何让一个应届毕业生快速成长?
  3. [娱乐]一款浅陋的C++控制台贪吃蛇小游戏
  4. Windows2008 组策略应用
  5. 快速排序算法图解分析
  6. 电脑处理器排行榜2021版
  7. Cesium笔记(3):基本控件简介—ImageryProvider地图瓦片地图配
  8. Generative Adversarial Networks overview(1)
  9. Pr:速度/持续时间
  10. 火山引擎发布云操作系统 veLinux
  11. Android Studio 里sync下载慢,怎么办?
  12. MS5837-30BA 水深水压传感器简单介绍
  13. .net5 开启Lucene的全文搜索之旅
  14. 安装软件—用安装包形式安装
  15. 第十三届蓝桥杯Java-C组2022年考题个人解析
  16. 微信小程序开发需要什么前提条件?
  17. Turtlbot仿真之Stage
  18. Python实现电话号码的数字组合
  19. 计算机职业道德英语作文,2014年考研英语作文模板:职业道德作文
  20. 为长颈鹿做一个名片二维码,扫描就能了解它的详细信息

热门文章

  1. 项目解析jsx文件_Rax 转小程序链路原理解析(一)
  2. java计算机毕业设计网上租房管理源码+系统+数据库+lw文档+mybatis+运行部署
  3. 第十六届全国大学生智能汽车竞赛全国总决赛提交技术报告通知
  4. 用友ERP U890数据库维护常用脚本
  5. 最新红旗linux系统,红旗linux系统下载_国产系统_红旗系统下载_5分享
  6. Debian 安装amd驱动
  7. 安卓开发中如何获取手机返回键的监听处理
  8. matlab mbd 淘宝,完美起航-基于模型(MBD)的树莓派程序开发——设置树莓派自动连接wifi和使用指令连接Matlab/Simulink和树莓派(不使用树莓派连接向导连接)...
  9. docker中安装Mkdocs
  10. html中粉色矩形代码,HTML粉色欧美形式图片展示网页模板代码