<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">  
<div class="wrapper">
<section class="header">

  <div class="logo-and-nav-wrap">
      
      <div class="logo-wrap">
        <a href="#/global">LOGO</a>
      </div>
      
      <div class="site-nav-wrap">
         <nav class="nav">
          
        
            <div class="breadcrumb-wrap">
              <span class="sep"><i class="fa fa-caret-right"></i></span> <span class="breadcrumb"><a href="#">Universe</a></span>
            </div>
            <div class="breadcrumb-wrap">
              <span class="sep"><i class="fa fa-caret-right"></i></span> <span class="breadcrumb"><a href="#">Milky Way</a></span>
            </div>
            <div class="breadcrumb-wrap">
              <span class="sep"><i class="fa fa-caret-right"></i></span> <span class="breadcrumb"><a href="#">Solar System</a></span>
            </div>
            <div class="breadcrumb-wrap">
              <span class="sep"><i class="fa fa-caret-right"></i></span> <span class="breadcrumb"><a href="#">Earth</a></span>
            </div>            
           <div class="breadcrumb-wrap">
              <span class="sep"><i class="fa fa-caret-right"></i></span> <span class="breadcrumb"><a href="#">Internet</a></span>
            </div>
        </nav>
      </div>
    </div>
  </section>

  <section class="body">
    <div class="content">
      <p>Play with the browser size to see how the breadcrumbs behave.</p>
      <ul>
        <li>Breadcrumbs shrinks when not enough space</li>
        <li>Mouse hover cancels ellipsis to let user read the full text</li>
      </ul>
    </div>
    </section>
  </div>
@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700');

// css variables
:root {
  --main-color: #b6ceff;
  --hover-color: #527cff;
  --icon: "\f105";
  --border-color: #ddd;
}

* {
  box-sizing: border-box;
}

.wrapper {
    font-family: 'Roboto', sans-serif;
    box-shadow: 0px 0px 10px var(--main-color);
    width: 70vw;
    margin: 20px auto;
}
a, a:visited {
  text-decoration: none;
  color: var(--main-color);
  transition: color ease-in-out .3s, background ease-in-out .2s;
}

.header {
  margin: 0 auto;
  overflow: hidden;
  border-bottom: 1px solid var(--border-color);
}

.body {
  padding-top: 20px;
}
.content {
  display: flex;
  flex-flow: column nowrap;
  height: 100%;
  padding: 15px 20px;
}

.logo-and-nav-wrap {
  display: flex;
  align-items: center;
}
.site-nav-wrap {
  padding-left: 30px;
  font-size: 20px;
  font-weight: 300;
  color: var(--main-color);
  overflow: hidden;
  width: fit-content;
}

.logo-wrap {
  padding: 0 20px;
  width: var(--sidebar-width);
}

.nav {
  display: flex;
  white-space: nowrap;
  overflow: hidden;
  padding-right: 30px;
}


/// BREADCRUMBS ///

//background color effect (disabled now)
.breadcrumb-wrap:before {
    content:'';
    background-image: linear-gradient(-33deg,#ff0d64 0,#9c3483 100%);
    width: 100%;
    height: 100px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    transition: transform ease-in-out .5s;
    transform: scalex(0);
    transform-origin: left top;

    // THIS IS THE BACKGROUND EFFECT - CURRENTLY DISABLED
    display:none;
  }
  //hover effect
  .breadcrumb-wrap:hover:before {
      transform: scalex(1);
  }
/////


.breadcrumb-wrap {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 0 auto;
  flex-shrink: 1000;
  display: inline-block;
  padding: 10px 5px 15px 0;
  border-bottom: 1px solid transparent;
  color: var(--main-color);
  position: relative;
  transition: transform ease-in-out .3s;
  
  &:hover {
    flex: 1 0 auto;
    opacity: 1;
    color: var(--hover-color);
    transform: translatey(-2px);
    transition: none;
    .breadcrumb {
      
    }
     a {
        color: var(--hover-color);
        }
    .sep {
      i {
          transform: translatex(8px);
          color: var(--hover-color);
          transition: transform ease-in-out .3s;
        }
    }
    opacity: 1;
    transition: transform ease-in-out .4s;
    
    ~ .single-breadcrumb-wrap {
      transition: transform ease-in-out .4s;
    }
  }
  
  //First Breadcrumb
  &:first-child {
    flex: 0 0 auto;
    flex-shrink: 0.5;
    font-weight: normal;
    color: var(--hover-color);
    opacity: 1;
    
    &:after {
      left: 0;
    }
    .sep {
      display: none;
    }
  }
  
  
//Last Breadcrumb
&:last-child {
    flex: 1 0 auto !important;
    font-weight: normal;
    
    a {
        color: var(--hover-color);
    }

    &:hover {
      transform: translateY(0);
      flex: 1 0 auto !important;
      &:after {
        display: none;
      }
    }
  }
  
}

//Underline effect
.breadcrumb-wrap:after {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 28px;
    top: 36px;
    width: 100%;
    height: 1px;
    background: var(--hover-color);
    
    transform: scale3d(0,1,1);
    transform-origin: 0% 50%;
    transition: transform ease-in-out .15s .10s,
                opacity ease-in-out .25s;
    opacity: .5;
}
//hover effect
.breadcrumb-wrap:hover:after {
    transform: scale3d(1,1,1);
    opacity: 1;
    transition: opacity ease-in-out .1s, transform ease-in-out .2s;
  
}

.breadcrumb {
  flex: 0 1 auto;
}
.sep {
  padding-left: 10px;
  padding-right: 10px;

  
  i.fa:before {
    content: var(--icon);
    transition: transform ease-in-out .2s;
  }
}

View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react.min.js
  2. https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react-dom.min.js