JSFiddle - React, Tailwind, and code Playground
HTML
<ul>
<li><span class="start">e</span></li>
<li><span>l</span></li>
<li><span>e</span></li>
<li><span>m</span></li>
<li><span>e</span></li>
<li><span class="dy">n</span></li>
<li><span class="end dy">t</span></li>
</ul>
CSS
body {
background: orange;
text-transform: none;
font-size: 1.5em;
text-shadow: 0 0 1px rgba(255,255,255,0.3);
}
ul {
list-style: none;
margin: 60px auto;
width: 400px;
padding: 0;
}
li {
position: relative;
display: inline-block;
height: 40px;
line-height: 40px;
text-align: center;
cursor: pointer;
margin: 0;
padding: 0;
float: left;
}
li span {
display: inline-block;
width: 20px;
background: #27ae60;
transition: -webkit-transform 0.1s; -webkit-transform-origin: center;
border: #2980b9 solid;
border-width: 0px 0px 1px 0px;
}
li:hover span, li:focus span {
-webkit-transform: scale(1,1.1);
border-radius: 2px;
}
li:hover span.end {
border-radius: 2px 10px 10px 2px;
}
li:hover span.start {
border-radius: 10px 2px 2px 10px;
}
li:hover li:focus {
background: #1abe9e;
}
.start {
border-radius: 10px 0 0 10px;
}
.end {
border-radius: 0 10px 10px 0;
}
.dy {
background-color: #2980b9;
border: #27ae60 solid;
border-width: 1px 0px 0px 0px;
}