Vue学习笔记-使用ElementUI
ElementUI官方地址:https://element.eleme.cn/2.11/#/zh-CN
1.初期准备
首先我们准备几个基本的样式文件:normalize.css 和 base.css
normalize.css:一个CSS RESET(样式重置)的文件,下载地址:https://necolas.github.io/normalize.css/,具体可以搜索 "reset.css和normalize.css"
base.css:根据项目或个人需求定义的一些基本样式,这里我们只简单定义一下
(一般我们将静态资源文件放在 /src/assets目录中)
*{
outline: none;
}
html,
body {
margin:;
padding:;
width: 100%;
height: 100%;
}
textarea {
resize: none !important;
}
input[type="text"]:disabled {
background: 0 0!important;
color: #c2c2c2;
cursor: not-allowed;
user-select: none;
}
.hidden {
display: none;
}
.unselect {
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
-khtml-user-select: none;
user-select: none;
}
#app {
padding: 0px;
margin: 0px;
height: 100%;
}
#el-aside{
width: 220px !important;
}
.el-menu.el-menu-vertical-demo{
border-bottom: none;
height: 100%;
}
.el-menu.el-menu-vertical-demo > li{
text-align: left;
}
2.快速搭建
引入依赖命令:cnpm i element-ui -S
再package.json文件中可以看到引入依赖的信息,表示引入依赖成功

接下来要在 main.js 中全局引入 Element,代码如下
import Vue from 'vue';
import App from './App';
import router from './router';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import './assets/css/normalize.css';
import './assets/css/base.css'; Vue.config.productionTip = false;
Vue.use(ElementUI); new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
});
2.使用Container容器布局
根据官方提供案例,修改 App.vue 文件
<template>
<el-container id="app">
<el-header>Header</el-header>
<el-container>
<el-aside width="200px">Aside</el-aside>
<el-main>Main</el-main>
</el-container>
<el-footer>Footer</el-footer>
</el-container>
</template> <script>
export default {
name: 'App'
};
</script> <style>
.el-header,
.el-footer {
background-color: #b3c0d1;
color: #333;
text-align: center;
line-height: 60px;
} .el-aside {
background-color: #d3dce6;
color: #333;
text-align: center;
line-height: 200px;
} .el-main {
background-color: #e9eef3;
color: #333;
text-align: center;
line-height: 160px;
} body > .el-container {
margin-bottom: 40px;
} .el-container:nth-child(5) .el-aside,
.el-container:nth-child(6) .el-aside {
line-height: 260px;
} .el-container:nth-child(7) .el-aside {
line-height: 320px;
}
</style>
3.实现导航栏
修改 App.vue 文件
<template>
<el-container id="app">
<el-header>Header</el-header>
<el-container>
<el-aside id="el-aside">
<el-menu default-active="1" class="el-menu-vertical-demo" background-color="#545c64" text-color="#fff" active-text-color="#ffd04b">
<el-menu-item index="1">
<i class="el-icon-menu"></i>
<span>处理中心</span>
</el-menu-item>
<el-submenu index="2">
<template slot="title">
<i class="el-icon-s-unfold"></i>
<span>我的工作台</span>
</template>
<el-menu-item index="2-1">
<i class="el-icon-arrow-right"></i>
<span>选项1</span>
</el-menu-item>
<el-menu-item index="2-2">
<i class="el-icon-arrow-right"></i>
<span>选项2</span></el-menu-item>
<el-menu-item index="2-3">
<i class="el-icon-arrow-right"></i>
<span>选项3</span>
</el-menu-item>
</el-submenu>
<el-menu-item index="3">
<i class="el-icon-message-solid"></i>
<span>消息中心</span>
</el-menu-item>
</el-menu>
</el-aside>
<el-main>Main</el-main>
</el-container>
<el-footer>Footer</el-footer>
</el-container>
</template> <script>
export default {
name: 'App'
};
</script> <style>
.el-header,
.el-footer {
background-color: #b3c0d1;
color: #333;
text-align: center;
line-height: 60px;
} .el-aside {
background-color: #d3dce6;
color: #333;
text-align: center;
line-height: 200px;
} .el-main {
background-color: #e9eef3;
color: #333;
text-align: center;
line-height: 160px;
} body > .el-container {
margin-bottom: 40px;
} .el-container:nth-child(5) .el-aside,
.el-container:nth-child(6) .el-aside {
line-height: 260px;
} .el-container:nth-child(7) .el-aside {
line-height: 320px;
}
</style>
实现效果图

Vue学习笔记-使用ElementUI的更多相关文章
- Vue学习笔记-2
前言 本文非vue教程,仅为学习vue过程中的个人理解与笔记,有说的不正确的地方欢迎指正讨论 1.computed计算属性函数中不能使用vm变量 在计算属性的函数中,不能使用Vue构造函数返回的vm变 ...
- Vue学习笔记-1
前言 本文不是Vue.js的教程,只是一边看官网Vue的教程文档一边记录并总结学习过程中遇到的一些问题和思考的笔记. 1.vue和avalon一样,都不支持VM初始时不存在的属性 而在Angular里 ...
- vue 学习笔记(二)
最近公司赶项目,一直也没时间看 vue,之前看下的都快忘得差不多了.哈哈哈,来一起回顾一下vue 学习笔记(一)后,继续向下看嘛. #表单输入绑定 基础用法 v-model 会忽略所有表单元素的 va ...
- vue学习笔记之:为何data是一个方法
vue学习笔记之:为何data是一个方法 在vue开发中,我们可以发现,data中的属性值是在function中return出来的.可为何data必须是一个函数呢?我们先看官方的解释: 当一个组件被定 ...
- vue学习笔记(八)组件校验&通信
前言 在上一章博客的内容中vue学习笔记(七)组件我们初步的认识了组件,并学会了如何定义局部组件和全局组件,上一篇内容仅仅只是对组件一个简单的入门,并没有深入的了解组件当中的其它机制,本篇博客将会带大 ...
- vue学习笔记(九)vue-cli中的组件通信
前言 在上一篇博客vue学习笔记(八)组件校验&通信中,我们学会了vue中组件的校验和父组件向子组件传递信息以及子组件通知父组件(父子组件通信),上一篇博客也提到那是对组件内容的刚刚开始,而本 ...
- vue学习笔记(十)路由
前言 在上一篇博客vue学习笔记(九)vue-cli中的组件通信内容中,我们学习组件通信的相关内容和进行了一些组件通信的小练习,相信大家已经掌握了vue-cli中的组件通信,而本篇博客将会带你更上一层 ...
- AntDesign vue学习笔记(七)Form 读写与图片上传
AntDesign Form使用布局相比传统Jquery有点繁琐 (一)先读写一个简单的input为例 <a-form :form="form" layout="v ...
- Vue学习笔记十三:Vue+Bootstrap+vue-resource从接口获取数据库数据
目录 前言 SpringBoot提供后端接口 Entity类 JPA操作接口 配置文件 数据库表自动映射,添加数据 写提供数据的接口 跨域问题 前端修改 效果图 待续 前言 Vue学习笔记九的列表案例 ...
随机推荐
- bzoj1624 寻宝之路
Description 农夫约翰正驾驶一条小艇在牛勒比海上航行. 海上有N(1≤N≤100)个岛屿,用1到N编号.约翰从1号小岛出发,最后到达N号小岛.一张藏宝图上说,如果他的路程上经 ...
- POI解决内存溢出问题
在POI3.8中SXSSF仅仅支持excel2007格式是对XSSF的一种流的扩展.目的在生成excel时候,需要生成大量的数据的时候,通过刷新的方式将excel内存信息刷新到硬盘的方式,提供写入数据 ...
- Java练习 SDUT-2445_小学数学
小学数学 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 今年中秋节,大宝哥带着一盒月饼去看望小学数学老师.碰巧数学老师 ...
- 【NS2】Installing ns-2.29 in Ubuntu 12.04
Installing ns-2.29 in Ubuntu 12.04 Off late, we try to use(install) a old software in a new Oper ...
- Codeforces 662D International Olympiad【贪心】
比赛的时候后缀长度在4位以内的时候分类讨论了一下,其实他们完全是一个套路的..并不需要讨论. 然后没有考虑前导0的情况,就wa了.. 题目链接: http://codeforces.com/probl ...
- Python基础:15私有化
默认情况下,属性在Python 中都是“public”. 1:双下划线(__) Python 为类元素(属性和方法)的私有性提供初步的形式.由双下划线开始的属性在运行时被“混淆”,所以直接访问是不允许 ...
- TCP/IP,UDP,HTTP,SOCKET之间的区别和关系
TCP/IP TCP/IP代表传输控制协议/网际协议,指的是一系列协组.可分为四个层次:数据链路层.网络层.传输层和应用层. 在网络层:有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协 ...
- hdu 4128 Running relay (线性规划转半平面交)
Problem - 4128 对偶线性规划转半平面交,这题的正解O(nlogn)解法,目前网上没有找到这样的正解. 原来的不等式组, sigma{-si*xi}>=-W+d*sigma{si} ...
- mapping数据列表
- js日期拓展方法
最近项目中使用了大量关于日期的操作遂将其整理如下: /** * 格式化日期 * @param {String} fmt [日期类型 默认为年月日(yyyy-MM-dd)] */ Date.protot ...