3.使用ElementUI搭建侧边栏及顶部栏

1. 安装ElementUI

ElementUI是基于 Vue 2.0 的桌面端组件库。使用之前,需要在项目文件夹中安装ElementUI,在终端中输入以下命令,进行安装。

npm i element-ui -S

并在main.js中引入ElementUI
在这里插入图片描述

2. 使用elmentUI组件进行页面布局

2.1 清空原有页面样式

App.vue

<template><div id="app"><router-view/></div>
</template>

HomeView.vue

<template><div class="home"></div>
</template>
<script>export default {name: 'HomeView',}
</script>

Aboutview.vue

<template><div class="about"></div>
</template>

2.2 拷贝elmentUI布局样式到App.vue

在 ElementUI上找到下面的实例以及对应的代码。
在这里插入图片描述

<el-container style="height: 500px; border: 1px solid #eee"><el-aside width="200px" style="background-color: rgb(238, 241, 246)"><el-menu :default-openeds="['1', '3']"><el-submenu index="1"><template slot="title"><i class="el-icon-message"></i>导航一</template><el-menu-item-group><template slot="title">分组一</template><el-menu-item index="1-1">选项1</el-menu-item><el-menu-item index="1-2">选项2</el-menu-item></el-menu-item-group><el-menu-item-group title="分组2"><el-menu-item index="1-3">选项3</el-menu-item></el-menu-item-group><el-submenu index="1-4"><template slot="title">选项4</template><el-menu-item index="1-4-1">选项4-1</el-menu-item></el-submenu></el-submenu><el-submenu index="2"><template slot="title"><i class="el-icon-menu"></i>导航二</template><el-menu-item-group><template slot="title">分组一</template><el-menu-item index="2-1">选项1</el-menu-item><el-menu-item index="2-2">选项2</el-menu-item></el-menu-item-group><el-menu-item-group title="分组2"><el-menu-item index="2-3">选项3</el-menu-item></el-menu-item-group><el-submenu index="2-4"><template slot="title">选项4</template><el-menu-item index="2-4-1">选项4-1</el-menu-item></el-submenu></el-submenu><el-submenu index="3"><template slot="title"><i class="el-icon-setting"></i>导航三</template><el-menu-item-group><template slot="title">分组一</template><el-menu-item index="3-1">选项1</el-menu-item><el-menu-item index="3-2">选项2</el-menu-item></el-menu-item-group><el-menu-item-group title="分组2"><el-menu-item index="3-3">选项3</el-menu-item></el-menu-item-group><el-submenu index="3-4"><template slot="title">选项4</template><el-menu-item index="3-4-1">选项4-1</el-menu-item></el-submenu></el-submenu></el-menu></el-aside><el-container><el-header style="text-align: right; font-size: 12px"><el-dropdown><i class="el-icon-setting" style="margin-right: 15px"></i><el-dropdown-menu slot="dropdown"><el-dropdown-item>查看</el-dropdown-item><el-dropdown-item>新增</el-dropdown-item><el-dropdown-item>删除</el-dropdown-item></el-dropdown-menu></el-dropdown><span>王小虎</span></el-header><el-main><el-table :data="tableData"><el-table-column prop="date" label="日期" width="140"></el-table-column><el-table-column prop="name" label="姓名" width="120"></el-table-column><el-table-column prop="address" label="地址"></el-table-column></el-table></el-main></el-container>
</el-container><style>.el-header {background-color: #B3C0D1;color: #333;line-height: 60px;}.el-aside {color: #333;}
</style><script>export default {data() {const item = {date: '2016-05-02',name: '王小虎',address: '上海市普陀区金沙江路 1518 弄'};return {tableData: Array(20).fill(item)}}};
</script>

**注意:**把代码放在的上面。
在这里插入图片描述

运行样式效果如下:
在这里插入图片描述

2.3 创建全局样式文件并引入

2.3.1 创建global.css文件

上面的样式与浏览器有间隙,需要创建一个global.css用于写全局样式。截图如下:
在这里插入图片描述
global.css代码如下:

body {/*设置距离屏幕的边距*/margin: 0;padding: 0;/*    隐藏溢出 清除浮动*/overflow: hidden;
}
/*把所有的元素变成盒状模型:应用“box-sizing: border-box;”样式后,盒子border和padding的参数值是被包含在width和height之内的。*/
* {/*外边距不会额外占用1px的像素*/box-sizing: border-box;}

2.3.2 在main.js中引入这个css文件

在这里插入图片描述

import '@/assets/global.css'

在这里插入图片描述

2.3.3 调试侧边栏、头部、表格组件样式

(1)去掉默认展开第1和第3个菜单栏的样式(蓝色选中)
在这里插入图片描述
(2)左侧侧边栏向下拉满
添加红框内的代码
在这里插入图片描述
(3)去布局组件的边框
删除蓝色选中的代码,使上下左右都完全贴屏。
在这里插入图片描述
(4)创建一个manager.css文件
用于写页面样式,同样main.js中引入这个css文件。
在这里插入图片描述

2.3.4 更换侧边栏图标(可选)

在ElementUI icon中找到喜欢的图标
在这里插入图片描述
复制图标类名 更换下图红色框框的值
在这里插入图片描述

最终样式:
在这里插入图片描述
最终代码:
App.vue

<template><div><el-container style="height: 500px;"><!--      侧边栏--><el-aside  class="m-aside"><!--        logo和系统名称--><div class="m-sysName" ><img src="@/assets/logo.png" alt="" width="10%"><span class="m-nameText">xxx系统</span></div><!--        侧边菜单栏--><el-menu class="el-menu" ><el-submenu index="1"><template slot="title"><i class="el-icon-user"></i>用户管理</template><el-menu-item index="1-1">选项1</el-menu-item><el-menu-item index="1-2">选项2</el-menu-item></el-submenu><el-submenu index="2"><template slot="title"><i class="el-icon-news"></i>信息管理</template><el-menu-item index="2-1">选项1</el-menu-item><el-menu-item index="2-2">选项2</el-menu-item></el-submenu><el-submenu index="3"><template slot="title"><i class="el-icon-set-up"></i>系统设置</template><el-menu-item index="3-1">选项1</el-menu-item><el-menu-item index="3-2">选项2</el-menu-item></el-submenu></el-menu></el-aside><!--      右侧--><el-container class="right-container"><!--        顶部菜单栏--><el-header class="top-header"><img src="@/assets/avtar.jpg" alt="" style="width: 40px;border-radius: 50%;margin-right: 10px;"><span style="color: #4c5a73;font-weight: bold;font-size: 14px;margin-right: 20px">王小虎</span><el-dropdown><i class="el-icon-setting" style="margin-right: 15px"></i><el-dropdown-menu slot="dropdown"><el-dropdown-item>个人中心</el-dropdown-item><el-dropdown-item>退出登录</el-dropdown-item></el-dropdown-menu></el-dropdown></el-header><!--表单--><el-main ><el-table :data="tableData"><el-table-column prop="date" label="日期" width="140"></el-table-column><el-table-column prop="name" label="姓名" width="120"></el-table-column><el-table-column prop="address" label="地址"></el-table-column></el-table></el-main></el-container></el-container><router-view/></div>
</template><script>export default {data() {const item = {date: '2016-05-02',name: '王小虎',address: '上海市普陀区金沙江路 1518 弄'};return {tableData: Array(20).fill(item)}}};
</script>

manager.css

/*左侧边栏*/
.m-aside{width:270px;background-color: #39465C;overflow: hidden;min-height: 100vh;
}
/*侧边栏上面logo*/
.m-sysName{height:70px;display:flex;align-items: center;padding-left: 20px;border-bottom: 1px solid #4c5a73;
}
/*侧边栏上面的文字*/
.m-nameText{color: #e4e7e6;margin-left: 10px;font-size: 18px;font-weight: bold;
}
/*侧边栏菜单栏*/
.el-menu{background-color: #39465C;border-right:none !important;
}
/*头部栏样式*/
.el-header {background-color: #ffffff;border-bottom: 1px solid gainsboro;color: #333;height: 70px !important;line-height: 70px;
}
/* 右侧背景颜色*/
.right-container{background-color: #EFF3F6;height: 100vh;
}
/*顶部居中*/
.top-header{font-size: 12px;/*设置垂直居中 先display:flex;在设置垂直居中,水平居右*/display: flex;align-items: center;justify-content: right;
}
/*侧边栏菜单一级字体颜色*/
.el-submenu__title{color: #e9e9e9;
}
/*侧边栏菜单悬浮背景颜色*/
.el-menu-item:hover, .el-submenu__title:hover {background: rgba(92, 113, 147, 0.24);}
/*侧边栏二级字体颜色*/
.el-menu-item {color: #e9e9e9;
}
/*二级菜单选中背景和颜色设置*/
.el-menu-item.is-active {color: #11cfd2;font-size: 14px;background: rgba(92, 113, 147, 0.24);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/72761.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++并发以及多线程的秘密

1.基础概念 并发&#xff08;Concurrency&#xff09; 并发是指在同一时间段内&#xff0c;多个任务看起来像是同时执行的。并发并不一定意味着真正的同时执行&#xff0c;它可以是通过时间片轮转等方式在多个任务之间快速切换&#xff0c;让用户感觉多个任务在同时进行。并发…

从零开始实现大语言模型(十四):高阶训练技巧

1. 前言 预训练大语言模型的流程与训练普通神经深度网络模型本质上并没有任何不同。可以使用深度学习实践中已经被证明非常有效的高阶训练技巧&#xff0c;优化大语言模型预训练流程&#xff0c;使大语言模型预训练效率更高&#xff0c;训练过程更稳定。 本文介绍深度学习领域…

利用EasyCVR平台打造化工园区视频+AI智能化监控管理系统

化工园区作为化工产业的重要聚集地&#xff0c;其安全问题一直是社会关注的焦点。传统的人工监控方式效率低下且容易出现疏漏&#xff0c;已经难以满足日益增长的安全管理需求。 基于EasyCVR视频汇聚平台构建的化工园区视频AI智能化应用方案&#xff0c;能够有效解决这些问题&…

GB28181视频监控流媒体平台LiveGBS如何自定义收流端口区间以便减少收流端口数或解决端口冲突问题

LiveGBS GB28181流媒体服务在接收视频的时候默认是使用30000-30249&#xff0c; webrtc流播放端口区间默认是UDP的30250-30500区间。有些网络环境不方便开放这么大的端口区间&#xff0c;下面介绍下如何修改配置这个区间。 从页面上修改这个区间&#xff0c;端口区间尽量设置大…

Qt:事件

目录 处理事件 鼠标事件 键盘事件 定时器事件 窗口事件 虽然 Qt 是跨平台的 C 开发框架&#xff0c;Qt 的很多能力其实是操作系统提供的 只不过 Qt 封装了系统的 API 事件 前面学习过信号槽&#xff1a; 用户进行的各种操作&#xff0c;就可能会产生出信号&#xff0c;可以…

责任链模式:优雅处理复杂流程的设计艺术

引言 在软件设计中&#xff0c;我们经常会遇到需要按特定顺序处理请求的场景。例如&#xff0c;一个订单处理系统可能需要经过验证、付款、物流安排和客户通知等多个步骤。如果我们将这些步骤硬编码在一个方法中&#xff0c;代码将变得臃肿且难以维护。这时&#xff0c;责任链…

【STM32】玩转IIC之驱动MPU6050及姿态解算

目录 前言 一.MPU6050模块介绍 1.1MPU6050简介 1.2 MPU6050的引脚定义 1.3MPU6050寄存器解析 二.MPU6050驱动开发 2.1 配置寄存器 2.2对MPU6050寄存器进行读写 2.2.1 写入寄存器 2.2.2读取寄存器 2.3 初始化MPU6050 2.3.1 设置工作模式 2.3.2 配置采样率 2.3.3 启…

【ThreeJS Basics 09】Debug

文章目录 简介从 dat.GUI 到 lil-gui例子安装 lil-gui 并实例化不同类型的调整改变位置针对非属性的调整复选框颜色 功能/按钮调整几何形状文件夹调整 GUI宽度标题关闭文件夹隐藏按键切换 结论 简介 每一个创意项目的一个基本方面是能够轻松调整。开发人员和参与项目的其他参与…

【Pandas】pandas Series explode

Pandas2.2 Series Computations descriptive stats 方法描述Series.argsort([axis, kind, order, stable])用于返回 Series 中元素排序后的索引位置的方法Series.argmin([axis, skipna])用于返回 Series 中最小值索引位置的方法Series.argmax([axis, skipna])用于返回 Series…

电脑网络出现问题!简单的几种方法解除电脑飞行模式

在某些情况下&#xff0c;您可能需要关闭电脑上的飞行模式以便重新连接到 Wi-Fi、蓝牙或其他无线网络。本教程中简鹿办公将指导您如何在 Windows 和 macO S操作系统上解除飞行模式。 一、Windows 系统下解除飞行模式 通过快捷操作中心 步骤一&#xff1a;点击屏幕右下角的通知…

nature genetics | SCENT:单细胞多模态数据揭示组织特异性增强子基因图谱,并可识别致病等位基因

–https://doi.org/10.1038/s41588-024-01682-1 Tissue-specific enhancer–gene maps from multimodal single-cell data identify causal disease alleles 研究团队和单位 Alkes L. Price–Broad Institute of MIT and Harvard Soumya Raychaudhuri–Harvard Medical S…

MyBatis-Plus 与 Spring Boot 的最佳实践

在现代 Java 开发中,MyBatis-Plus 和 Spring Boot 的结合已经成为了一种非常流行的技术栈。MyBatis-Plus 是 MyBatis 的增强工具,提供了许多便捷的功能,而 Spring Boot 则简化了 Spring 应用的开发流程。本文将探讨如何将 MyBatis-Plus 与 Spring Boot 进行整合,并分享一些…

uploadlabs通关思路

目录 靶场准备 复现 pass-01 代码审计 执行逻辑 文件上传 方法一&#xff1a;直接修改或删除js脚本 方法二&#xff1a;修改文件后缀 pass-02 代码审计 文件上传 1. 思路 2. 实操 pass-03 代码审计 过程&#xff1a; 文件上传 pass-04 代码审计 文件上传 p…

AI编程工具节选

1、文心快码 百度基于文心大模型推出的一款智能编码助手&#xff0c; 官网地址&#xff1a;文心快码(Baidu Comate)更懂你的智能代码助手 2、通义灵码 阿里云出品的一款基于通义大模型的智能编码辅助工具&#xff0c; 官网地址&#xff1a;通义灵码_你的智能编码助手-阿里云 …

目录扫描工具深度对比:Dirb、Dirsearch、DirBuster、Feroxbuster 与 Gobuster

✨ 前言 在网络安全测试与渗透测试中&#xff0c;目录扫描&#xff08;又称目录枚举&#xff09;是一项至关重要的技术。它用于发现 Web 服务器上未公开的隐藏目录和文件&#xff0c;这些资源可能包含敏感数据、配置文件甚至潜在漏洞&#xff0c;因而成为攻击者与安全研究人员…

“双碳”背景下,企业应该如何提升能源效率?

在当今竞争激烈的市场环境中&#xff0c;企业不仅需要优化成本&#xff0c;还需积极响应国家的能源政策&#xff0c;减少对环境的影响。提升工业能源效率正是实现这一双重目标的关键。中国近年来大力推进“双碳”目标&#xff08;碳达峰、碳中和&#xff09;&#xff0c;并出台…

无人机扩频技术对比!

一、技术原理与核心差异 FHSS&#xff08;跳频扩频&#xff09; 核心原理&#xff1a;通过伪随机序列控制载波频率在多个频点上快速跳变&#xff0c;收发双方需同步跳频序列。信号在某一时刻仅占用窄带频谱&#xff0c;但整体覆盖宽频带。 技术特点&#xff1a; 抗干扰…

当AI开始“思考“:拆解大模型训练与推理的秘密(以DeepSeek为例)

如果你用过deepseek&#xff0c;可能体验过它在几秒内编故事、写代码的震撼。但你是否想过&#xff0c;这种"智能输出"背后存在两种完全不同的底层机制&#xff1f;就像人类需要先学习知识&#xff08;训练&#xff09;才能考试答题&#xff08;推理&#xff09;&…

永洪科技深度分析实战,零售企业的销量预测

随着人工智能技术的不断发展&#xff0c;智能预测已经成为各个领域的重要应用之一。现在&#xff0c;智能预测技术已经广泛应用于金融、零售、医疗、能源等领域&#xff0c;为企业和个人提供决策支持。 智能预测技术通过分析大量的数据&#xff0c;利用机器学习和深度学习算法…

Vue项目通过内嵌iframe访问另一个vue页面,获取token适配后端鉴权(以内嵌若依项目举例)

1. 改造子Vue项目进行适配(ruoyi举例) (1) 在路由文件添加需要被外链的vue页面配置 // 若依项目的话是 router/index.js文件 {path: /contrast,component: () > import(/views/contrast/index),hidden: true },(2) 开放白名单 // 若依项目的话是 permission.js 文件 cons…