vue实现登陆单页面
一 实现页面的布局

1. 首先在components里建一个login.vue
<template>
<div class=login_container>
登陆组件
</div>
</template> <script>
export default { }
</script> <style>
</style>
登陆组件
2. 路由的设置 router下的index.js
import Vue from 'vue'
import VueRouter from 'vue-router'
// 导入login路劲
import login from '@/components/login' Vue.use(VueRouter) export default new VueRouter({
/* 设置路由 */
routes:[
{ path: '/',redirect:'/login'},
{ path: '/login',component: login}
]
})
路由的设置
3. App.vue
<template>
<div id="app">
// *********
<router-view></router-view>
</div>
</template> <script>
export default {
name: 'app',
components:{ } }
</script> <style>
</style>
App.vue设置
4. 整体样式
在assets新建一个global.css
html,body,#app{
height: 100%;
margin: 0;
padding: 0;
}
css文件
在main.js导入
import './assets/css/global.css'
导入css
5. 修改login.vue
<template>
<div class=login_container>
登陆组件
<div class="login_box"></div>
</div>
</template> <script>
export default { }
</script> <style> .login_container{
height: 100%;
background-color: #2b4b6b;
}
.login_box{
width: 450px;
height: 300px;
background-color: #fff;
border-radius: 3px;
position: absolute;
left: 50%;
top:50%;
transform: translate(-50%,-50%); }
</style>
login.vue样式
二 页面绘制头像

<template>
<div class=login_container>
登陆组件
<div class="login_box">
<!-- 头像 -->
<div class="avatar_box">
<img src="../assets/logo.png" alt="">
</div> </div>
</div>
</template> <script>
export default { }
</script> <style> .login_container{
height: 100%;
background-color: #2b4b6b;
}
.login_box{
width: 450px;
height: 300px;
background-color: #fff;
border-radius: 3px;
position: absolute;
left: 50%;
top:50%;
transform: translate(-50%,-50%); }
/* 头像样式开始 */
.avatar_box{
height: 130px;
width: 130px;
border: 1px solid #eee;
border-radius: 50%;
padding: 10px;
box-shadow: 0 0 10px #ddd;
position: absolute;
left:50%;
transform: translate(-50%,-50%);
background-color: #fff;
}
.avatar_box img{
width: 100%;
height: 100%;
border-radius: 50%;
background-color: #eee;
}
/* 头像样式结束 */
</style>
头像样式
三 绘制登陆表单

其实要实现上面的样子 我们就用到了 element-ui 组件
有Button Input Form FormItem 组件
我们是按需要导入
我们在plugins文件下的element.js
import Vue from 'vue'
import { Button } from 'element-ui'
import { Input } from 'element-ui'
import { Form, FormItem } from 'element-ui' Vue.use(Button)
Vue.use(Input)
Vue.use(Form)
Vue.use(FormItem)
element.js
在回到 login.vue
<template>
<div class=login_container>
登陆组件
<div class="login_box">
<!-- 头像 -->
<div class="avatar_box">
<img src="../assets/logo.png" alt="">
</div>
<!-- 表单 -->
<el-form class="login_form">
<!-- 用户名 -->
<el-form-item>
<el-input></el-input>
</el-form-item>
<!-- 密码 -->
<el-form-item>
<el-input></el-input>
</el-form-item>
<!-- 按钮 -->
<el-form-item class="btns">
<el-button type="primary">登陆</el-button>
</el-form-item>
</el-form>
</div>
</div>
</template> <script>
export default { }
</script> <style> .login_container{
height: 100%;
background-color: #2b4b6b;
}
.login_box{
width: 450px;
height: 300px;
background-color: #fff;
border-radius: 3px;
position: absolute;
left: 50%;
top:50%;
transform: translate(-50%,-50%); }
/* 头像样式开始 */
.avatar_box{
height: 130px;
width: 130px;
border: 1px solid #eee;
border-radius: 50%;
padding: 10px;
box-shadow: 0 0 10px #ddd;
position: absolute;
left:50%;
transform: translate(-50%,-50%);
background-color: #fff;
}
.avatar_box img{
width: 100%;
height: 100%;
border-radius: 50%;
background-color: #eee;
}
/* 头像样式结束 */ .btns{
/* position: absolute;
right: 0; */
display: flex;
justify-content: flex-end;
}
.login_form{
position: absolute;
bottom: 0;
/* 占满全屏 */
width: 100%;
/* 边距会超出 用后面那句 box-sizing: border-box; */
padding: 0 20px;
box-sizing: border-box;
}
</style>
表单 element 有样式哟
vue实现登陆单页面的更多相关文章
- Java快速开发平台强大的代码生成器,JEECG 3.7.5 VUE+ElementUI SPA单页面应用版本发布
JEECG 3.7.5 VUE+ElementUI SPA单页面应用版本发布 此版本为Vue+ElementUI SPA单页面应用版本,提供新一代风格代码生成器模板,采用Vue技术,提供两套精美模板E ...
- 每天记录一点:NetCore获得配置文件 appsettings.json vue-router页面传值及接收值 详解webpack + vue + node 打造单页面(入门篇) 30分钟手把手教你学webpack实战 vue.js+webpack模块管理及组件开发
每天记录一点:NetCore获得配置文件 appsettings.json 用NetCore做项目如果用EF ORM在网上有很多的配置连接字符串,读取以及使用方法 由于很多朋友用的其他ORM如S ...
- day 100天 VUE 父子传值,单页面.
一 .静态资源导入方法 启动服务 npm run serve <template> <div id ="app"> <h3>{{msg}}& ...
- vue如何将单页面改造成多页面应用
问题描述: 手头有一个项目是使用 vue-cli 搭建的单页面应用.项目分为了管理平台和用户查看页面,用户查看页面是很简单的页面,但是在加载过程中,却加载了整个应用的打包代码,量重且影响了响应和体验. ...
- spring boot使用vue+vue-router构建单页面应用
spring boot http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/ vue https: ...
- 借助 Vue 来构建单页面应用
原文: https://github.com/MeCKodo/vue-tutorial 主题 Vue.js (1/2)Vue构建单页应用最佳实战 前言 我们将会选择使用一些vue周边的库 1.使用no ...
- vue自动路由-单页面项目(非build时构建)
博客中自动路由的原理? 答:简单点说,就是在请求页面时,根据url进行动态添加路由. 与其它自动路由博客的区别? 目前网上的博客,一般都是在build的时候进行动态路由添加,而本博客,采用的是在获得u ...
- 如何在嵌套的app中运用vue去写单页面H5
本文主要介绍移动端.为了避免移动端兼容出现各种奇奇怪怪的bug,所以秉承着能不用复杂的语法就不用,尽量用最基础的语法. 可用惯了各种ES6语法的童鞋们,写原生真是头疼,再加上各种领导催工期,肯定是内心 ...
- vue-cli搭建vue项目(单页面应用)
1.全局安装vue-cli 2.创建项目: vue init webpack test test是项目名称,会在当前工作目录下新建一个test文件夹 接下来会手动选择一些配置 除了Setup unit ...
随机推荐
- Linux - 监控工具Conky
主题Harmattan,https://www.jianshu.com/p/5c8d4a1f4c91,这个主题在deepin linux下有黑框背景,因为是伪透明,所以选择黑色背景的主题即可
- js面试必考:this
this是前端面试中必考的基础知识点,也是新手小白在做项目中经常晕头转向的问题.但其实this不难理解. 判断this指向时,记住以下几点: 判断函数类型, 1.1 如果是箭头函数,则为第一个包裹箭头 ...
- 前端面试:js数据类型
js数据类型是js中的基础知识点,也是前端面试中一定会被考察的内容.本文旨在知识的梳理和总结,希望读者通过阅读本文,能够对这一块知识有更清晰的认识.文中如果出现错误,请在评论区指出,谢谢. js数据类 ...
- 循环读取寄存器(QSFP-DD)并且分别保存log
#!/bin/bash ####################################################################### #Created by: Bin ...
- mysql cmmand not found
https://www.cnblogs.com/yangzigege/p/8337393.html
- Codeforces #617 (Div. 3) D. Fight with Monsters(贪心,排序)
There are nn monsters standing in a row numbered from 11 to nn . The ii -th monster has hihi health ...
- 微信授权登陆接入第三方App(步骤总结)Android。
这几天开发要用到微信授权的功能,所以就研究了一下.可是微信开放平台接入指南里有几个地方写的不清不楚.在此总结一下,以便需要的人. 很多微信公众平台的应用如果移植到app上的话就需要微信授权登陆了. 目 ...
- angular 自定义服务封装自定义http请求
在angular中将http请求,放置在一起封装成服务,可减少代码重复,方便使用 var ngpohttprest = angular.module('ngpohttprest', []); ngpo ...
- Java 实现简单的人机猜拳游戏
import java.util.Scanner; import java.util.Random; public class TestGuess{ public static void main(S ...
- EMR 配置纪录(不断更新)
日志路径 -> /var/log(软连接到 /mnt/var/log) 在 spark master 机器中,配置的路径为 /usr/lib/spark/conf /usr/lib/hadoop ...