纯css实现登录表单动效

效果图:

代码展示

javascript 复制代码
// 我这边用的是elementUI表单校验,更改的样式。
<el-form
      :model="form"
      :rules="rules"
       ref="fromList"
      :hide-required-asterisk="true">
    <el-form-item prop="account">
		<div class="input-data">
   			<el-input required="" v-model="form.account" autocomplete="on"></el-input>
   			<label>手机号/邮箱</label>
		</div>
	</el-form-item>
	   <el-form-item prop="pass">
		<div class="input-data">
   			<el-input required="" v-model="form.pass" autocomplete="on"></el-input>
   			<label>密码</label>
		</div>
	</el-form-item>
<el-form>

.input-data{
  width: 100%;
  height: 40px;
  position: relative;
}
 :deep(.el-form){
   .el-form-item{
     margin-bottom: 62px;
   }
   .el-form-item__error{
     font-size: 14px;
     color: #F15151;
     line-height: 1.7;
     letter-spacing: 1px;
   }
   .el-input__inner{
     padding: 0;
     color: #FFFFFF;
     width: 100%;
     height: 40px;
     border: none;
     border-radius:0;
     border-bottom: 1px solid silver;
     font-size: 16px;
     background: transparent;
   }
   .is-required.is-error .el-input__inner{
     border:none !important;
     border-bottom:1px solid #FFFFFF !important;
   }
   
   .input-data{
  		 label{
  			font-size: 16px;
 			font-weight: normal;
 			color: #FFFFFF;
  			letter-spacing: 1px;
  			position: absolute;
  			bottom: 0;
  			left: 0;
 			pointer-events: none;
 			transition: all 0.3s ease;
		}
     .el-input:has(> input:focus) ~ label,
     .el-input:has(> input:valid) ~ label,
     //处理记住密码填充的bug
     .el-input:has(>input:-webkit-autofill) ~ label{
       transform: translateY(-30px);
       font-size: 13px ;
     }
   }
 }
 
相关推荐
Amumu1213812 分钟前
Vuex介绍
前端·javascript·vue.js
We་ct13 分钟前
LeetCode 54. 螺旋矩阵:两种解法吃透顺时针遍历逻辑
前端·算法·leetcode·矩阵·typescript
2601_949480061 小时前
【无标题】
开发语言·前端·javascript
css趣多多1 小时前
Vue过滤器
前端·javascript·vue.js
理人综艺好会1 小时前
Web学习之用户认证
前端·学习
We་ct2 小时前
LeetCode 36. 有效的数独:Set实现哈希表最优解
前端·算法·leetcode·typescript·散列表
weixin_395448912 小时前
main.c_cursor_0129
前端·网络·算法
2401_859049082 小时前
git submodule update --init --recursive无法拉取解决
前端·chrome·git
这是个栗子3 小时前
【Vue代码分析】前端动态路由传参与可选参数标记:实现“添加/查看”模式的灵活路由配置
前端·javascript·vue.js
刘一说3 小时前
Vue 动态路由参数丢失问题详解:为什么 `:id` 拿不到值?
前端·javascript·vue.js