JSFiddle - React, Tailwind, and code Playground
by luka kupunia
HTML
<div class="inputbox">
<input type="text" placeholder="password" id="input">
<div class="stick1"></div>
<div class="stick2"></div>
</div>
CSS
body {
margin: 0;
background: #eee;
}
* {
box-sizing: border-box;
}
div.inputbox {
width: 300px;
margin: 100px auto;
position: relative;
height: 34px;
overflow: hidden;
}
div.inputbox input {
width: 300px;
font-size: 18px;
padding: 5px 10px;
position: absolute;
z-index: 2;
background: rgba(0, 0, 0, 0);
border: none;
border-bottom: 3px solid #2C3E50;
outline: none;
}
input::placeholder {
color: #2C3E50;
}
div.stick1 {
position: absolute;
width: 150px;
height: 34px;
background: #89C4F4;
}
div.stick2 {
position: absolute;
width: 150px;
height: 34px;
left: 150px;
background: #89C4F4;
}
JavaScript
$(function() {
$('#input').focus(function() {
$('.stick1').css({
transform: 'translateX(-150px)',
transition: '0.5s'
})
});
$('#input').focusout(function() {
$('.stick1').css({
transform: 'translateX(0px)',
transition: '0.5s'
})
});
$('#input').focus(function() {
$('.stick2').css({
transform: 'translateX(150px)',
transition: '0.5s'
})
});
$('#input').focusout(function() {
$('.stick2').css({
transform: 'translateX(0px)',
transition: '0.5s'
})
});
});