Alexander Pilz
Alexander Pilz

Reputation: 299

bootstrap3: Make navbar link underlined

I'm working on a bootstrap 3 website and I want to make the links in the navbar underlinded with the help of the border, something like this:
enter image description here
But at the moment it looks like this:
enter image description here

I tried the "padding-bottom" atribute, but that does nothing.
My html:

    <nav class="navbar navbar-default navbar-fixed-top">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand navbar-left" href="/index.html"><img class="nav-logo" src="/images/xcellent-logo/logo.png"></a>
    </div>
    <div id="navbar" class="navbar-collapse collapse">
      <ul class="nav navbar-nav nav-underline">
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Services<span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="stuff">stuff</a></li>
            <li><a  href="stuff">stuff</a></li>
            <li><a href="stuff">stuff</a></li>
            <li><a  href="stuff">stuff</a></li>
            <li><a  href="stuff">stuff</a></li>
          </ul>
        </li>
        <li><a  href="stuff">stuff</a></span></li>
        <li><a  href="stuff">stuff</a></span></li>
        <li><a  href="stuff">stuff</a></span></li>             
      </ul>
    </div><!--/.nav-collapse -->
  </div>
</nav>  

The CSS I tried:

.nav-underline a {
border-bottom: transparent solid 2px;
padding-bottom: 40px;
}
.nav-underline a:hover {
border-bottom: $white solid 2px;
}

Is there a way to achieve this? Thanks for your help!

Upvotes: 0

Views: 1076

Answers (1)

Sahil Dhir
Sahil Dhir

Reputation: 4250

Just shift the padding of anchor to li. Here is the custom css for the same.

.navbar-nav.nav-underline>li>a {
  padding: 0px;
}

.navbar-nav.nav-underline>li {
  padding: 15px;
}

Below is the working example:

.nav-underline a {
  border-bottom: transparent solid 2px;
  padding-bottom: 40px;
}

.nav-underline a:hover {
  border-bottom: red solid 2px;
}

.navbar-nav.nav-underline>li>a {
  padding: 0px;
}

.navbar-nav.nav-underline>li {
  padding: 15px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />

<nav class="navbar navbar-default navbar-fixed-top">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand navbar-left" href="/index.html"><img class="nav-logo" src="/images/xcellent-logo/logo.png"></a>
    </div>
    <div id="navbar" class="navbar-collapse collapse">
      <ul class="nav navbar-nav nav-underline">
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Services<span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="stuff">stuff</a></li>
            <li><a href="stuff">stuff</a></li>
            <li><a href="stuff">stuff</a></li>
            <li><a href="stuff">stuff</a></li>
            <li><a href="stuff">stuff</a></li>
          </ul>
        </li>
        <li><a href="stuff">stuff</a></span>
        </li>
        <li><a href="stuff">stuff</a></span>
        </li>
        <li><a href="stuff">stuff</a></span>
        </li>
      </ul>
    </div>
    <!--/.nav-collapse -->
  </div>
</nav>

Upvotes: 1

Related Questions