如何使活动导航栏链接更改背景颜色? Bootstrap 4。

时间:2017-11-02 10:03:59

标签: javascript html css twitter-bootstrap

我意识到这个问题已被问过几次,但没有一个解决方案对我有用。这是我的HTML:

<div  class="navbar-light" style="position: sticky; top: 0px; background: #fff0d8; z-index:99;">  <!--z-index to stay on top of everything else-->
<div class="container">
<ul class="sc-nav nav navbar-nav nav-fill w-100 flex-md-row">
<li class="nav-item">
    <a class="nav-link" href="#">oihdma</a>
</li>
<li class="nav-item">
    <a class="nav-link" href="#">saaaassas</a>
</li>
<li class="nav-item">
    <a class="nav-link" href="#">fffffffffffff</a>
</li>
<li class="nav-item">
    <a class="nav-link" href="#">dsdsd</a>
</li>
<li class="nav-item">
    <a class="nav-link" href="#">fsfsfsfs</a>
</li>
<li class="nav-item">
    <a class="nav-link" href="#">fffff</a>
</li>
<li class="nav-item">
    <a class="nav-link" href="#">xxxxx</a>
</li>
</ul>

我的剧本:

$(document).ready(function() {
    var url = this.location.pathname;
    var filename = url.substring(url.lastIndexOf('/')+1);
    $('a[href="' + filename + '"]').parent().addClass('active');
});

我将此脚本留在页脚中,以便在页面加载后执行。

最后,我的CSS:

  ul.nav a:hover, ul.nav a:focus, ul.nav a:active { background-color: #FDCBA3;} 

悬停并按预期重点工作,但未激活。该脚本使链接处于活动状态,文本的颜色发生变化,并且工作正常。但背景颜色不会改变。它会在悬停和焦点上发生变化,但在单击时不会发生变化。

2 个答案:

答案 0 :(得分:0)

StringJoiner j = new StringJoiner(" ").setEmptyValue("(package-private)"); for(int remaining = access, bit; remaining != 0; remaining -= bit) { bit = Integer.lowestOneBit(remaining); switch(bit) { case Opcodes.ACC_PUBLIC: j.add("public"); break; case Opcodes.ACC_PRIVATE: j.add("private"); break; case Opcodes.ACC_PROTECTED: j.add("protected"); break; case Opcodes.ACC_STATIC: j.add("static"); break; case Opcodes.ACC_FINAL: j.add("final"); break; case Opcodes.ACC_SYNCHRONIZED: j.add("synchronzied"); break; case Opcodes.ACC_BRIDGE: j.add("(bridge)"); break; case Opcodes.ACC_VARARGS: j.add("(varargs)"); break; case Opcodes.ACC_NATIVE: j.add("native"); break; case Opcodes.ACC_ABSTRACT: j.add("abstract"); break; case Opcodes.ACC_STRICT: j.add("strictfp"); break; case Opcodes.ACC_SYNTHETIC: j.add("synthetic"); break; } } String decoded = j.toString(); 伪类与您在Javascript中设置的:active类不同。

尝试以下方法:

.active

答案 1 :(得分:0)

我在Firefox中检查了活动元素并意识到我正在更改错误的CSS。这是有用的:

 for ind in df.index:
     print df['c1'][ind], df['c2'][ind]