【VUE】el-menu导航菜单过长、过多 超出窗口宽度 添加左右滚动按钮实现左右滚动效果
本文为原创文章,转载需注明出处~~
效果图:
项目需求:如果一级菜单过多,需要出现滚动点击按钮。
准备工作:考虑到使用swiper插件,但swiper-slider必须是swiper-wrapper的第一子节点,el-menu没办法套用,放弃!决定自己写:
html:
关键css:
<-- 按钮样式 -->
.swiperMenu {
position: relative;
overflow: hidden;
padding-right: 74px !important;
.moveBtn {
position: absolute;
right: 0;
top: 0;
height: $--menu-height;
z-index: 1;
.move {
width: 36px;
height: 100%;
background: #0444AE;
float: left;
display: grid;
grid-template-rows: 70% 30%;
justify-items: center;
&:hover {
.moveImg {
width: 15px;
height: 24px;
margin-top: 18px;
opacity: 1;
cursor: pointer;
}
.moveImgnone {
opacity: 0.2;
cursor: auto;
}
}
.moveImg {
width: 15px;
height: 24px;
margin-top: 18px;
opacity: 0.5;
}
.moveImgnone {
opacity: 0.2;
}
span {
display: inline-block;
width: 14px;
height: 14px;
background: #0957DA;
border-radius: 1px;
font-size: 12px;
font-family: Helvetica;
color: #FFFFFF;
text-align: center;
}
}
.lineBox {
float: left;
background: #0444AE;
height: $--menu-height;
div {
background: #fff;
opacity: 0.2;
width: 1px;
height: 48px;
margin-top: 14px;
}
}
}
}
<-- 将el-menu下的ul标签横向被li撑开。重点重点!!!!!!!!!! -->
.el-menu-demo {
overflow: hidden;
white-space: nowrap;
scroll-behavior: smooth; // 实现缓动动画效果
.el-submenu {
display: inline-block;
float: none;
width: 114px;
}
}
JS:
data () {
return {
updateTopMenuActive: 0,
show: true,
copy_Menus: [],
resizeTick: false,
firstMenuChange: false,
templateMoreAlias: '_templateMoreMenu', //临时更多目录的别名
activeMenuIndex: sessionStorage.activeMenuIndex || '/home', //默认选择首页
allWidth: 0, // 菜单ul总宽度
leftNum: 0, // 左边菜单隐藏个数
rightNum: 0, // 右边菜单隐藏个数
boxLength: 0, // 可视窗口宽度
moveBtnWidth: 0, // 按钮盒子宽度
firstMenuWidth: 80, // 第一个菜单的宽度(首页)
eveyMenuWidth: 114, // 每一个菜单的宽度
}
},
【VUE】el-menu导航菜单过长、过多 超出窗口宽度 添加左右滚动按钮实现左右滚动效果的更多相关文章
- [vue ]滚动视图解决ElementUI NavMenu 导航菜单过长显示的问题
记录一下工作 需求 导航菜单过长的时候会溢出,需要一个像 Tabs 标签页一样的滚动视图容器,可以左右滚动内部视图. 解决方法 由于时间问题,所以直接将 Tabs 源码抽取出来使用. 这里要做一些特殊 ...
- BootstrapBlazor实战 Menu 导航菜单使用(1)
实战BootstrapBlazorMenu 导航菜单的使用, 以及整合Freesql orm快速制作菜单项数据库后台维护页面 demo演示的是Sqlite驱动,FreeSql支持多种数据库,MySql ...
- B08. BootstrapBlazor实战 Menu 导航菜单使用(2)
接上篇: B08. BootstrapBlazor实战 Menu 导航菜单使用(1) 3.项目模板 节省时间,直接使用 Bootstrap Blazor App 模板快速搭建项目 传送门: https ...
- 使用Iview Menu 导航菜单(非 template/render 模式)
1.首先直接参照官网Demo例子,将代码拷贝进项目中运行, 直接报错: Cannot read property 'mode' of undefined. 然后查看官网介绍,有一行注意文字,好吧. 2 ...
- Iview 中 获取 Menu 导航菜单 选中的值
期望效果: 原来,我用的是脚本来控制,然后........,再然后,我再去仔细看官方文档的时候,才发现,Menu组件 有那么两个事件,on-select 和 on-open-change ,好气啊,之 ...
- 为SharePoint网站创建自定义导航菜单
转:http://kaneboy.blog.51cto.com/1308893/397779 相信不少人都希望把SharePoint网站内置的那个顶部导航菜单,换成自己希望的样式.由于SharePoi ...
- 一款jQuery立体感动态下拉导航菜单特效
一款jQuery立体感动态下拉导航菜单特效,鼠标经过,在菜单栏上方下拉出一个背景图片,效果十分不错的一款jquery特效. 对IE6都是兼容的,希望大家好好研究研究. 适用浏览器:IE6.IE7.IE ...
- .Net Core通过json文件 配置管理后台导航菜单
先来看个最终效果图 以前我们配置后台菜单 一般都是把菜单链接, 图标, 以及层级关系 配置到数据库,Core很容易通过json文件来配置导航菜单 而不用存数据库了 先添加个menuconfig.js ...
- vue导航菜单调用PHP后台数据
数据库设计: 后台PHP输出所有菜单数据(index.php): <?phpheader("Access-Control-Allow-Origin:*");header(&q ...
- JQUERY 插件开发——MENU(导航菜单)
JQUERY 插件开发——MENU(导航菜单) 故事背景:由于最近太忙了,已经很久没有写jquery插件开发系列了.但是凭着自己对这方面的爱好,我还是抽了一些时间来过一下插件瘾的.今天的主题是导航菜单 ...
随机推荐
- 如何用 Unity 做出一只赛博宠物
推荐的一些学习资料 unity 官方文档:Unity 用户手册 (2019.4LTS) - Unity 手册 视频教程:https://www.bilibili.com/video/BV1zB4y1C ...
- H.265码流解析
这一篇内容旨在对H.265码流中的一些概念做简单了解,部分概念与H.264相同,本篇中将不再重复. 1.NALU H.265(HEVC)码流的NALU结构和AVC有一些不同,属于增强版,HEVC NA ...
- 005. gitlab安装
1. gitlab介绍 官方网站: www.gitlab.com gitlab是一款使用ruby编写的代码版本管理系统,他可以通过web界面来管理代码. 2. gitlab安装 官方安装文档: htt ...
- 用Python脚本迁移MongoDB数据到金仓-kingbase数据库
1.首先需要明确MongoDB与kingbase的对应关系,collection相当于table,filed相当于字段,根据这个对应关系创建表: 此次迁移的MongoDB里的数据字段是:_id(自动生 ...
- itest(爱测试) 紧急 BUG 修复版(4.5.6)发布,,开源BUG 跟踪管理 & 敏捷测试管理&极简项目管理软件
itest 简介 itest 开源敏捷测试管理,testOps 践行者,极简的任务管理,测试管理,缺陷管理,测试环境管理4合1,又有丰富的统计分析.可按测试包分配测试用例执行,也可建测试迭代(含任务, ...
- 如何创建一个线程池,为什么不推荐使用Executors去创建呢?
我们在学线程的时候了解了几种创建线程的方式,比如继承Thread类,实现Runnable接口.Callable接口等,那对于线程池的使用,也需要去创建它,在这里我们提供2种构造线程池的方法: 方法一: ...
- react做购物车的功能
父组件 import React, { Component } from 'react' import Lists from '../components/Lists' export default ...
- LeetCode 332. Reconstruct Itinerary重新安排行程 (C++/Java)
题目: Given a list of airline tickets represented by pairs of departure and arrival airports [from, to ...
- Semantic Kernel入门系列:通过依赖注入管理对象和插件
前言 本章讲一下在Semantic Kernel中使用DependencyInject(依赖注入),在之前的章节我们都是通过手动创建Kernel对象来完成框架的初始化工作,今天我们用依赖注入的方式来实 ...
- 使用 OpenTelemetry 构建可观测性 03 - 导出
上一个博文中,我提到如何使用 OpenTelemery 的特定语言 API 来收集遥测数据,包含手动和自动的埋点技术,这很重要!但是,收集遥测数据只是解决方案的第一步. 你需要把遥测数据路由转发到其他 ...