JSFiddle - React, Tailwind, and code Playground
by Léo Durand
HTML
<ul>
<li><a href="#"> ✿ </a></li><!--
--><li><a href="#"> Lorem </a></li><!--
--><li><a href="#"> Ipsum </a></li><!--
--><li><a href="#"> Consectetur adipisicing </a></li><!--
--><li><a href="#"> Sit amet </a></li>
</ul>
CSS
html {
font-family: 'Josefin Slab', 'Comfortaa', sans-serif;
font-size: 1.2em;
background: #eee;
}
ul {
position: relative;
width: 27em;
height: 2em;
margin: 100px auto;
padding: 0;
white-space: nowrap;
}
ul li {
display: inline;
text-align: center;
}
ul li a {
position: relative;
top: 0;
left: 0;
right: 25em;
bottom: 0;
display: inline-block;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: .4em .2em;
color: green;
text-decoration: none;
text-shadow: 0 1px 0 white;
/*transition*/
-webkit-transition: width .3s, right .3s;
-moz-transition: width .3s, right .3s;
-o-transition: width .3s, right .3s;
transition: width .3s, right .3s;
}
ul li:nth-child(1) a {
width: 2em;
}
ul li:nth-child(2) a {
width: 4em;
}
ul li:nth-child(3) a {
width: 4em;
}
ul li:nth-child(4) a {
width: 12em;
}
ul li:nth-child(5) a {
width: 5em;
background:blue;
}
ul li:last-child a::after {
content: "";
position: absolute;
right: inherit;
/*transition*/
-webkit-transition: all .5s ease;
-moz-transition: all .5s ease;
-o-transition: all .5s ease;
transition: all .5s ease;
}
ul li:nth-child(1) ~ li:last-child a {
right: 25em;
width: 2em;
background:pink;
}
ul li:nth-child(2):hover ~ li:last-child a {
right: 21em;
width: 4em;
}
ul li:nth-child(3):hover ~ li:last-child a {
right: 17em;
width: 4em;
}
ul li:nth-child(4):hover ~ li:last-child a {
right: 5em;
width: 12em;
}
ul li:nth-child(5):last-child:hover a {
right: 0;
width: 5em;
}
ul li:hover ~ li:last-child a::after,
ul li:last-child:hover a::after {
background: red;
}
ul li:last-child a {
min-width: 5em;
max-width: 5em;
}
ul li a:hover,
ul li a:focus {
color: brown;
}
ul li a:focus {
border-bottom: 3px solid brown;
}