nav
  .underline
  .underline
  .underline
  a(onClick="ul(0)") Home
  a(onClick="ul(1)") Videos
  a(onClick="ul(2)") Playlists
  a(onClick="ul(3)") Community
  a(onClick="ul(4)") Channels
  a(onClick="ul(5)") About
  
nav.black
  .underline
  .underline
  .underline
  a(onClick="ul(0)") Home
  a(onClick="ul(1)") Videos
  a(onClick="ul(2)") Playlists
  a(onClick="ul(3)") Community
  a(onClick="ul(4)") Channels
  a(onClick="ul(5)") About
  
nav.full
  .underline
  .underline
  .underline
  a(onClick="ul(0)") Home
  a(onClick="ul(1)") Videos
  a(onClick="ul(2)") Playlists
  a(onClick="ul(3)") Community
  a(onClick="ul(4)") Channels
  a(onClick="ul(5)") About
  
nav.retro
  .underline
  .underline
  .underline
  a(onClick="ul(0)") Home
  a(onClick="ul(1)") Videos
  a(onClick="ul(2)") Playlists
  a(onClick="ul(3)") Community
  a(onClick="ul(4)") Channels
  a(onClick="ul(5)") About
View Compiled
:root {
  --underline-height: .5em;
  --transition-duration : .5s;
}

body {
  font-family: system-ui, sans-serif;
  background: whitesmoke;
  min-height: 100vh;
}

nav {
  position: relative;
  white-space: nowrap;
  background: white;
  padding: var(--underline-height) 0;
  margin: 2em 0;
  box-shadow: 0 1em 2em rgba(black, .05);
}

.underline {
  display: block;
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  height: var(--underline-height);
  width: 20%;
  background: black;
  pointer-events: none;
  mix-blend-mode: multiply;
  transition: transform var(--transition-duration) ease-in-out;
  
  &:nth-child(1) {
    background: yellow;
    transition: calc(var(--transition-duration) * .8);
  }
  &:nth-child(2) {
    background: cyan;
    transition: calc(var(--transition-duration) * 1.2);
  }
  &:nth-child(3) {
    background: magenta;
  }
}

a {
  display: inline-block;
  z-index: 10;
  width: 20%;
  padding: 1em 0;
  text-align: center;
  cursor: pointer;
}

nav.black {
  .underline {
    background: #222;
    border-radius: .25em;
    height: calc(var(--underline-height) / 2);
    mix-blend-mode: initial;
  }
}

nav.full {
  font-weight: bold;
  background: #111;
  color: white;
  
  .underline {
    height: 100%;
    background: gold;
  }
}

nav.retro {
  .underline {  
    border-radius: 100% 100% 0 0;
    
    &:nth-child(1) { background: gold; }
    &:nth-child(2) { background: dodgerblue; }
    &:nth-child(3) { background: tomato; }
  }
}
View Compiled
function ul(index) {
  console.log('click!' + index)
  
  var underlines = document.querySelectorAll(".underline");

  for (var i = 0; i < underlines.length; i++) {
    underlines[i].style.transform = 'translate3d(' + index * 100 + '%,0,0)';
  }
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.