0

I'm building a site and I am utilising the Bootstrap framework as it saves me a lot of development time.

The Issue

I have a collection of links a couple of dropdown links and the rest are just regular links.

I have managed to successfully change the hover state of the links without a dropdown menu by giving them a different background colour.

But the problem I am having is that I cannot change the background colour of the links that have a dropdown menu. I don't mean the actual background colour of the dropdown menu but the nav-pill link on the navbar.

I have been trying to resolve the issue in my custom styles stylesheet (styles.css) using the following CSS code

.nav-pills {
    padding-top: 20px;
}

.nav-pills > li > a {
    font-size: 15px;
    color: #37404e;
    border-radius: 5px 5px 0 0;
    padding: 10px;
}

.nav-pills > li > a:hover {
    background-color: #418bca;
    color: #fff;
}

/* --- dropdown-menu --- */
.dropdown-menu {
    margin-top: -5px;
}

.dropdown-menu > li {
    font-size: 15px;
}

.dropdown-menu > li > a {
    transition: .3s;
    -webkit-transition: .3s;
    -moz-transition: .3s;
}

.dropdown-menu > li > a:hover {
    background-color: #ff6347;
    color: #fff;
}

.dropdown-header {
    color: #418bca;
}

I just can't seem to find a fix for this.

Any advice on how this can be fixed would be greatly appreciated!

serv-inc
  • 35,772
  • 9
  • 166
  • 188
Stuart Cowley
  • 37
  • 2
  • 9

2 Answers2

0

Try this:

DEMO:

<nav class="navbar navbar-default" role="navigation">
            <div class="container-fluid">
                <!-- Brand and toggle get grouped for better mobile display -->
                <div class="navbar-header">
                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                        <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" href="#">Brand</a>
                </div>

                <!-- Collect the nav links, forms, and other content for toggling -->
                <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                    <ul class="nav nav-pills">
                        <li class="active"><a href="#">Link</a></li>
                        <li><a href="#">Link</a></li>
                        <li class="dropdown">
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>
                            <ul class="dropdown-menu" role="menu">
                                <li><a href="#">Action</a></li>
                                <li><a href="#">Another action</a></li>
                                <li><a href="#">Something else here</a></li>
                                <li class="divider"></li>
                                <li><a href="#">Separated link</a></li>
                                <li class="divider"></li>
                                <li><a href="#">One more separated link</a></li>
                            </ul>
                        </li>
                        <li class="dropdown">
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>
                            <ul class="dropdown-menu" role="menu">
                                <li><a href="#">Action</a></li>
                                <li><a href="#">Another action</a></li>
                                <li><a href="#">Something else here</a></li>
                                <li class="divider"></li>
                                <li><a href="#">Separated link</a></li>
                                <li class="divider"></li>
                                <li><a href="#">One more separated link</a></li>
                            </ul>
                        </li>
                    </ul>
                </div>
                <!-- /.navbar-collapse -->
            </div>
            <!-- /.container-fluid -->
        </nav>
Suganth G
  • 5,136
  • 3
  • 25
  • 44
0

I used these as my styles:

.navbar-default .navbar-nav .nav > li > a:hover,
.navbar-default .navbar-nav .nav > li.dropdown.active.open > a:hover,
.navbar-default .navbar-nav .nav > li.dropdown.active.open > ul.dropdown-menu > li > a:hover,
.navbar-default .navbar-nav .nav > li.dropdown.open > a:hover,
.navbar-default .navbar-nav .nav > li.dropdown.open > ul.dropdown-menu a:hover,
.navbar-default .navbar-nav .nav > li.dropdown.open > a,
.navbar-default .navbar-nav .nav > li.dropdown.open > ul.dropdown-menu a,

{
  background-color: #fff;
  border-color: #fff;
}

You may need to change the selectors before the first > depending on your structure of your HTML.

Narutkowski
  • 175
  • 1
  • 2
  • 17