JSFiddle - React, Tailwind, and code Playground
by rluuan
HTML
<div>
<input type="text" class="inputText" required/>
<span class="floating-label">Your email address</span>
</div>
<div>
<input type="text" class="inputText" required/>
<span class="floating-label">Your email address</span>
</div>
CSS
input:focus ~ .floating-label,
input:not(:focus):valid ~ .floating-label{
top: 1px;
bottom: 10px;
left: 20px;
font-size: 11px;
opacity: 1;
}
.inputText {
font-size: 14px;
width: 200px;
height: 35px;
}
.floating-label {
position: absolute;
pointer-events: none;
left: 20px;
top: 18px;
transition: 0.2s ease all;
}