欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 游戏 > 3.使用ElementUI搭建侧边栏及顶部栏

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

2025/3/10 16:49:31 来源:https://blog.csdn.net/zeyeqianli/article/details/146058635  浏览:    关键词: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);
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词