floating input label
css only floating input label
by John Doe
HTML
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet">
<form>
<div class="float-input-wrap">
<input type="text" required value="rew">
<label>Name</label>
</div>
<div class="float-input-wrap">
<input type="text" required>
<label>Email</label>
</div>
</form>
CSS
* { box-sizing:border-box; }
body{
font-family: 'Roboto';
padding-top: 50px;
}
form{
display: block;
margin: 0 auto;
width: 300px;
}
/* styleing */
.float-input-wrap {
position:relative;
margin-bottom:15px;
}
.float-input-wrap input {
font-size:18px;
padding:10px 10px 10px 5px;
display:block;
width:300px;
border:1px solid #757575;
border-radius: 3px;
}
.float-input-wrap input:focus { outline:none; }
/* LABEL ======================================= */
.float-input-wrap label {
color:#999;
font-size:18px;
font-weight:normal;
position:absolute;
pointer-events:none;
left:5px;
top:10px;
transition:0.2s ease all;
-moz-transition:0.2s ease all;
-webkit-transition:0.2s ease all;
}
/* active state */
.float-input-wrap input:focus ~ label, .float-input-wrap input:valid ~ label {
top:-8px;
font-size: 13px;
color:#5264AE;
background-color: #fff;
padding: 0 5px;
}