Только один представитель класса выполняет анимацию в нужный момент
Я захотел сделать login-страницу по туториалу на ютубе. Когда дело дошло до анимаций у него все работало правильно, а у меня откатывалась анимация назад когда текст уже был написан.
index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="index.css">
<title>Login</title>
</head>
<body>
<section>
<div class="form-box">
<div class="form-value">
<form action="">
<h2>Login</h2>
<div class="inputbox">
<ion-icon name="mail-outline"></ion-icon>
<input type="email" required>
<label for="">Email</label>
</div>
<div class="inputbox">
<ion-icon name="lock-closed-outline"></ion-icon>
<input type="password" required>
<label for="">Password</label>
</div>
<div class="forget">
<label for=""><input type="checkbox">Remember Me <a href="#">Forget Password</a></label>
</div>
<button>Log in</button>
<div class="register">
<p>Don't have an account? <a href="#">Register</a></p>
</div>
</form>
</div>
</div>
</section>
<script type="module" src="https://unpkg.com/[email protected]/dist/ionicons/ionicons.esm.js"></script>
<script nomodule src="https://unpkg.com/[email protected]/dist/ionicons/ionicons.js"></script>
</body>
</html>
index.css:
@import url('https://fonts.googleapis.com/css?family=poppins&display=swap');
*{
margin: 0;
padding: 0;
font-family: 'poppins', sans-serif;
}
section{
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
width: 100%;
background: #0f0;
}
.form-box{
position: relative;
width: 400px;
height: 450px;
background: #f00;
display: flex;
justify-content: center;
align-items: center;
}
h2{
font-size: 2em;
color: #fff;
text-align: center;
}
.inputbox{
position: relative;
margin: 30px 0;
width: 310px;
border-bottom: 1px solid #fff;
}
.inputbox label{
position: absolute;
top: 50%;
left: 5px;
color: #fff;
font-size: 1em;
pointer-events: none;
transition: all .2s ease;
}
input:focus ~ label,
input:valid ~ label{
top: -5px;
}
.inputbox input{
width: 100%;
height: 50px;
background: transparent;
border: none;
font-size: 1em;
padding: 0 35px 0 5px;
outline: none;
color: #fff;
}
.inputbox ion-icon{
position: absolute;
right: 8px;
color: #fff;
font-size: 1.2em;
top: 20px;
}
.forget{
margin: -15px 0 15px;
font-size: .9em;
color: #fff;
display: flex;
justify-content: center;
}
.forget label input{
margin-right: 3px;
}
.forget label a{
color: #fff;
text-decoration: none;
}
.forget label a:hover{
text-decoration: underline;
}
button{
width: 100%;
height: 40px;
border-radius: 40px;
background: #fff;
border: none;
outline: none;
cursor: pointer;
font-size: 1em;
font-weight: 600;
}
.register{
font-size: .9em;
color: #fff;
text-align: center;
margin: 25px 0 10px;
}
.register p a{
text-decoration: none;
color: #fff;
font-weight: 600;
}
.register p a:hover{
text-decoration: underline;
}
Заранее благодарен