登录页粒子特效
安装
npm install vue-particles --save-dev
在main.js中引入
import VueParticles from 'vue-particles'
Vue.use(VueParticles)
使用
<vue-particles
color="#fff"
:particleOpacity="0.7"
:particlesNumber="60"
shapeType="circle"
:particleSize="4"
linesColor="#fff"
:linesWidth="1"
:lineLinked="true"
:lineOpacity="0.4"
:linesDistance="150"
:moveSpeed="2"
:hoverEffect="true"
hoverMode="grab"
:clickEffect="true"
clickMode="push"
class="lizi"
>
</vue-particles>
属性
color: String类型。默认'#dedede'。粒子颜色。
particleOpacity: Number类型。默认0.7。粒子透明度。
particlesNumber: Number类型。默认80。粒子数量。
shapeType: String类型。默认'circle'。可用的粒子外观类型有:"circle","edge","triangle", "polygon","star"。
particleSize: Number类型。默认80。单个粒子大小。
linesColor: String类型。默认'#dedede'。线条颜色。
linesWidth: Number类型。默认1。线条宽度。
lineLinked: 布尔类型。默认true。连接线是否可用。
lineOpacity: Number类型。默认0.4。线条透明度。
linesDistance: Number类型。默认150。线条距离。
moveSpeed: Number类型。默认3。粒子运动速度。
hoverEffect: 布尔类型。默认true。是否有hover特效。
hoverMode: String类型。默认true。可用的hover模式有: "grab", "repulse", "bubble"。
clickEffect: 布尔类型。默认true。是否有click特效。
clickMode: String类型。默认true。可用的click模式有: "push", "remove", "repulse", "bubble"。
在
登陆页
使用表单 需注意布局
vue-particles 插件需要相对定位 表单需要绝对地位
具体的left
top
根据情况而定
如下图
html代码
<template>
<div>
<vue-particles
color="#fff"
:particleOpacity="0.7"
:particlesNumber="80"
shapeType="start"
:particleSize="4"
linesColor="#fff"
:linesWidth="1"
:lineLinked="true"
:lineOpacity="0.4"
:linesDistance="150"
:moveSpeed="3"
:hoverEffect="true"
hoverMode="grab"
:clickEffect="true"
clickMode="push"
class="lizi"
>
</vue-particles>
<div class="login_box">
<el-form
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-position="left"
label-width="0"
class="demo-ruleForm"
>
<h2 class="title">后台管理系统</h2>
<el-form-item prop="username" style="position: relative">
<el-input v-model="ruleForm.username" placeholder="账号"></el-input>
<img src="../assets/icon/username.png" alt='' class="img_abs" />
</el-form-item>
<el-form-item prop="password" style="position: relative">
<el-input v-model="ruleForm.password" placeholder="密码"></el-input>
<img src="../assets/icon/password.png" alt='' class="img_abs" />
</el-form-item>
<el-form-item prop="code" style="position: relative">
<div style="display: flex">
<el-input
v-model="ruleForm.code"
placeholder="验证码"
style="width: 60%"
></el-input>
<img src="../assets/icon/code.png" alt='' class="img_abs" />
<div style="margin-left: 10px">
<img src="../assets/icon/1.png" alt='' />
</div>
</div>
</el-form-item>
</el-form>
</div>
</div>
</template>
css代码
.demo-ruleForm {
margin-top: -50px;
background: white;
width: 500px;
padding: 30px 50px 50px 50px;
border-radius: 7px;
}
.title {
margin: 0 auto 30px auto;
text-align: center;
color: #525151;
}
.img_abs {
position: absolute;
left: 6px;
top: 13px;
}
/deep/.el-input__inner {
padding: 0 30px;
}
.lizi {
background: linear-gradient(-180deg, #1a1454 0%, #0e81a5 100%);
width: 100vw;
height: 100vh;
// border: 1px solid red;
position: relative;
}
.login_box {
position: absolute;
top: 35%;
left: 33%;
}