毕设要做个登录页面,想着做个漂亮点的页面,就找到了youtube上的一个,自己敲代码也做出来了,效果展示
视频讲解链接: link.
油管视频地址 https://www.youtube.com/watch?v=ZvU57lTnNgo
Animated Login Form Using HTML & CSS & JQurey
可以翻墙的可以看看和关注这个大佬DarkCode
代码主要两部分html,css,一点jquery.
算是用比较少的代码量实现一个漂亮的动态登录页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://lib.baomitu.com/jquery/3.5.1/jquery.min.js"></script>
<link rel="stylesheet" href="./index.css">
</head>
<body>
<form action="index.html" class="login-form">
<h1>Login</h1>
<div class="txtb">
<input type="text">
<span data-placeholder="Username"></span>
</div>
<div class="txtb">
<input type="password">
<span data-placeholder="Password"></span>
</div>
<input type="submit" value="login" class="logbtn">
<div class="bottom-text">
Don't have a account?<a href="#">Sign Up</a>
</div>
</form>
<script>
$(".txtb input").on("focus", function() {
$(this).addClass("focus");
})
$(".txtb input").on("blur", function() {
if ($(this).val() == "")
$(this).removeClass("focus");
})
</script>
</body>
</html>
* {
margin: 0;
padding: 0;
text-decoration: none;
font-family: montserrat;
box-sizing: border-box;
}
body {
min-height: 100vh;
background-image: linear-gradient(120deg, #3498db, #8e44ad);
}
.login-form {
width: 360px;
background: #f1f1f1;
height: 580px;
padding: 80px 40px;
border-radius: 10px;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.login-form h1 {
text-align: center;
margin-bottom: 60px;
}
.txtb {
border-bottom: 2px solid #adadad;
position: relative;
margin: 30px 0;
}
.txtb input {
font-size: 15px;
color: #333;
border: none;
width: 100%;
outline: none;
background: none;
padding: 0 5px;
height: 40px;
}
.txtb span::before {
content: attr(data-placeholder);
position: absolute;
top: 50%;
left: 5px;
color: #adadad;
transform: translateY(-50%);
z-index: -1;
transition: .5s;
}
.txtb span::after {
content: '';
position: absolute;
width: 0%;
left: 0px;
top: 40px;
height: 2px;
background: linear-gradient(120deg, #3498db, #8e44ad);
transition: .5s;
}
.focus+span::before {
top: 0px;
}
.focus+span::after {
width: 100%;
}
.logbtn {
display: block;
width: 100%;
height: 50px;
border: none;
background: linear-gradient(120deg, #3498db, #8e44ad, #3498db);
background-size: 200%;
color: #fff;
outline: none;
cursor: pointer;
transition: .5s;
}
.logbtn:hover {
background-position: right;
}
.bottom-text {
margin-top: 60px;
text-align: center;
font-size: 13px;
}