禁用Bootstrap 3单页站点的活动链接样式

时间:2015-05-25 22:23:04

标签: html5 css3 twitter-bootstrap-3

我正在使用Bootstrap 3开发基于HTML5和CSS3的单页主题。

问题是我无法删除Bootstrap在点击链接时添加的活动链接样式(灰色背景)。

对于普通的多页网站来说很方便,但这里页面不会改变。

因此灰色背景将一直保留,直到我点击页面上的任何位置。

我的HTML如下:

<nav class="navbar navbar-custom navbar-fixed-top sticky-nav" role="navigation">
    <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" href="#"><img src="_/css/img/logo4.png" alt="" /></a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
            <ul class="nav navbar-nav navbar-right text-thin">
                <li class="active"><a href="#home">Home</a></li>
                <li><a href="#features">Features</a></li>
                <li><a href="#portfolio">Portfolio</a></li>
                <li><a href="#clients">Our Clients</a></li>
                <li><a href="#contact">Contact</a></li>
            </ul>
        </div><!-- /.navbar-collapse -->
    </div> <!-- /.container -->
</nav>

我的CSS是:

.nav > li > a {
    background: #fff;
}

.navbar {
    margin: 0;
    padding: 25px 0;
    box-shadow: 0 0px 2px rgba(0, 0, 0, .3);
}

.navbar-custom {
    background-color: #fff;
    border-radius: 0;
    height: 100px;
}

.navbar-custom .navbar-brand img {
    width: 90px;
    height: 60px;
}

.shrink {
    padding: 10px 0;
    height: 50px;
}

.navbar-custom .navbar-nav > li > a {
    color: #555;
    font-size: 18px;
    text-transform: uppercase;
    margin-left: 5px;
    padding: 10px;
}

.navbar-custom .navbar-nav > li > a:hover {
    color: #c00;
    background-color: #fff;
}

.navbar-custom .navbar-nav > .active > a,
.navbar-nav > .active > a:hover,
.navbar-nav > .active > a:focus {
    color: #c00;
}
.navbar-custom .navbar-brand {
    color: #eeeeee;
    padding: 0;
    margin-top: -5px;
}

.shrink .navbar-brand img {
    width: 70px;
    height: 40px;
}

.shrink .navbar-nav > li > a {
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: 12px;
}

.shrink button {
    margin-top: 0;
}

.navbar-custom .icon-bar {
    background-color: #555;
}

.active {
    background: #fff;
}

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:3)

将您的CSS与Bootstrap's Navbar example生效的CSS进行比较,似乎问题是:hover:focus案例的选择器不够具体,这使您的规则无法覆盖Bootstrap的默认值。如果你将.navbar-custom添加到这两条规则中,我认为它应该可行(如果你的CSS包含在Bootstrap之后):

.navbar-custom .navbar-nav > .active > a,
.navbar-custom .navbar-nav > .active > a:hover,
.navbar-custom .navbar-nav > .active > a:focus {
    color: #c00;
    background-color: #fff;
}