JSFiddle - React, Tailwind, and code Playground
by Christian Sonne
HTML
<img src="https://s3.amazonaws.com/technicalmachine-assets/launch/animation-files/tessel2-board-bare.png">
<ul>
<li>Some thingamabob
<div id="something"></div>
</li>
<li>Some more
<div id="another"></div>
<div id="yetanother"></div>
</li>
</ul>
CSS
body {
height: 600px;
width: 800px;
}
img {
width: 50%;
float: left;
}
ul {
margin: 0 0 0 50%;
padding: 100px 0 0 0;
list-style: none;
width: 50%;
}
li {
border-radius: 3px;
border: #08a solid 2px;
padding: 1em;
text-align: center;
margin: 0.5em 0;
opacity: 0.5;
position: relative;
}
li div {
width: 0;
height: 0;
border: #08a solid;
border-width: 0 0 2px 2px;
position: absolute;
bottom: 20px;
right: 100%;
}
li:hover div {
transition-property: width, height;
transition-delay: 0s, 0.5s;
transition-duration: 0.5s;
}
li:hover div:after {
opacity: 1;
transition-property: opacity;
transition-delay: 1s;
transition-duration: 0.5s;
}
li:hover {
opacity: 1;
}
li div:after {
content: "";
display: block;
height: 10px;
width: 10px;
border-radius: 50%;
background: #08a;
position: absolute;
top: -6px;
left: -6px;
opacity: 0;
}
li:hover #something {
width: 115px;
height: 30px;
}
li:hover #another {
width: 220px;
height: 30px;
}
li:hover #yetanother {
width: 300px;
height: 40px;
}