JSFiddle - React, Tailwind, and code Playground

by Léo Durand

HTML

<ul>
   <li><a href="#"> &#10047; </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;
}