JSFiddle - React, Tailwind, and code Playground
by oceog
HTML
<div class='phone_email'>
<div class="icon">+</div>
<div class="phone">555-555-555</div>
<div class="email">[email protected]</div>
</div>
<div class='phone_email'>
<div class="icon">+</div>
<div class="phone">555-555-555</div>
<div class="email">[email protected]</div>
</div>
<div class='phone_email'>
<div class="icon">+</div>
<div class="phone">555-555-555</div>
<div class="email">[email protected]</div>
</div>
<div class='phone_email'>
<div class="icon">+</div>
<div class="phone">555-555-555</div>
<div class="email">[email protected]</div>
</div>
CSS
.phone_email {
width: 200px;
height: 20px;
position: relative;
overflow: hidden;
}
.phone_email .phone {
position: absolute;
top: 0;
left: 200px;
width: 200px;
transition: all 1s;
}
.phone_email .icon:hover ~ .phone, .phone_email .phone:hover {
position: absolute;
top: 0;
left: 20px;
width: 200px;
}
.phone_email .email {
position: absolute;
top: 0;
left: 20px;
width: 200px;
transition: all 1s;
}
.phone_email .icon:hover ~ .email, .phone_email .phone:hover ~ .email {
position: absolute;
top: 0;
left: -200px;
width: 200px;
}
.icon {
background: white;
z-index: 1000;
width: 21px;
height: 20px;
position: absolute;
top: 0;
left: 0;
}