JSFiddle - React, Tailwind, and code Playground
HTML
<ul id="navi" class="nav navbar-nav">
<li class="current_page_item"><a href="" onfocus="this.blur()">Startseite</a></li>
<li><a href="ueber-uns/" onfocus="this.blur()">Über Uns</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dienstleistungen <b class="caret"></b></a>
</li>
<li><a href="referenzen/" onfocus="this.blur()">Referenzen</a></li>
<li><a href="kontakt/" onfocus="this.blur()">Kontakt</a></li>
</ul>
CSS
#navi {
margin: 0 auto;
list-style: none;
position: relative;
width: 960px;
}
#navi li {
display: inline-block;
}
#navi li a {
color: #bbb;
font-size: 14px;
float: left;
padding: 6px 10px 4px 10px;
text-decoration: none;
text-transform: uppercase;
}
#navi li a:hover {
color: white;
}
#magic-line {
position: absolute;
bottom: -2px;
left: 0;
width: 100px;
height: 2px;
background: #fe4902;
}
JavaScript
$(function() {
var $el, leftPos, newWidth;
$("#navi").append("<li id='magic-line'></li>");
var $magicLine = $("#magic-line");
$magicLine
.width($(".current_page_item").width())
.css("left", $(".current_page_item a").position().left)
.data("origLeft", $magicLine.position().left)
.data("origWidth", $magicLine.width());
$("#navi li").find("a").hover(function() {
$el = $(this);
leftPos = $el.position().left;
newWidth = $el.parent().width();
$magicLine.stop().animate({
left: leftPos,
width: newWidth
});
}, function() {
$magicLine.stop().animate({
left: $magicLine.data("origLeft"),
width: $magicLine.data("origWidth")
});
});
});