elementui 顶部导航菜单-ElementUI底部菜单响应式实现

2024-04-27 0 7,544 百度已收录

目前后端UI框架采用Element-UI,布局采用类似Bootstrap框架的网格布局。 不过,Bootstrap 中的最大网格数为 12 个,而 Element-UI 的最大网格数为 24 个,这也指 Bootstrap 的响应式设计自带了五种预设响应规范:xs、sm、md、lg 和 xl。 这样可以解决不同屏幕适配问题具体用途特点可以查看Layout的介绍

顶部菜单栏响应式设计

elementui 顶部导航菜单-ElementUI底部菜单响应式实现

虽然上面提到的布局可以实现响应式,但是底部菜单栏不支持像Bootstrap那样预设的响应式样式和设计,所以需要我们自己实现。 我的实现方法是通过监控屏幕的长宽比来动态显示底部菜单。我们先看一下最终的效果

这是PC大屏幕的显示

手机上显示

elementui 顶部导航菜单-ElementUI底部菜单响应式实现

可以看到,在PC端的菜单显示时,所有内容都显示出来,而在手机屏幕上时,剩余选项则放在More中进行下拉显示。 当然,您可以根据自己的需求和设计定制显示。

elementui 顶部导航菜单-ElementUI底部菜单响应式实现

实施流程

整体实现过程中elementui 顶部导航菜单,通过监听屏幕的长宽比来判断是在手机上还是在PC上。 需要注意的是ElementUI中的window.resize()方法有问题,会报没有resize()方法。 请参考互联网。 看了资料,发现可能和element-ui中的drawer有冲突抽屉使用window.onresize。 这里,使用window.addEventListener代替__也可以达到同样的效果。

首先,在返回数据定义一个布尔值elementui 顶部导航菜单命名为isMobile。 如果为真,则表示手机端,反之亦然。 默认情况下我们给它false,然后在methods中定义一个方法,如下:

getScreen() {
      let screenWidth = document.body.clientWidth;	//获取屏幕的宽
      let screenHeight = document.body.clientHeight;	//获取屏幕的高
      return screenWidth / screenHeight;	//返回宽除以高
    },
listenScreen() {
   let initScale = this.getScreen();	//初始化判断
   if (initScale  {	//添加屏幕变化监听,判断逻辑上方相同
     this.isMobile = this.getScreen() < 1 ? true : false;
   });
 },

然后在挂载模式调用listenScreen()方法来实现这一点。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 elementui elementui 顶部导航菜单-ElementUI底部菜单响应式实现 https://www.wkzy.net/game/201349.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务