单击菜单外部以关闭它时,Bootstrap导航栏“闪烁”

时间:2016-03-28 19:45:41

标签: html css angularjs twitter-bootstrap

我遇到导航栏的问题,当您在菜单外单击以关闭菜单时会出现“闪烁”。如果在单击菜单时按住鼠标,闪光仍然存在,如下所示:

我认为它可能与角度有关,而不是css,主要是因为其他人未能在小提琴上复制它。 Previous question here.

HTML:

<nav class='navbar navbar-default.navbar-static-top navbar-custom'>
  <div class='container-fluid'>
    <ul class='nav navbar-nav navbar-left'>
      <li><a href="dashboard.html">Dashboard</a></li>
      <li><a href="/grades">Grades</a></li> 
      <li><a href="/classes">Classes</a></li>
    </ul>
    <ul class='nav navbar-nav navbar-right'>
      <li><a href="/messages"><i class="fa fa-envelope fa-lg"></i></a></li>

        <!--has to do with the link, clicking it and clicking it again-->
      <li><a class="dropdown-toggle dropdown-custom" data-toggle="dropdown" href="/profile"><i class="fa fa-user fa-lg"></i></a>
        <ul class="dropdown-menu">
          <li><a href="/profile.html">Edit profile</a></li>
          <li><a href="/settings">Edit Preferences</a></li>
        </ul>
      </li>
      <li><a href="/logout"><i class="fa fa-power-off fa-lg"></i></a></li>    
    </ul>

  </div>
</nav>

CSS:

[ng\:cloak], [ng-cloak], .ng-cloak {
  display: none !important;
}
.navbar-custom {
    background-color: #586F7C;
}
.navbar-custom a {
    color: #F4F4F9;
}
.navbar-custom .nav > li > a:hover {
    background-color: #2F4550;
}
.navbar .navbar-nav > li.open > a, {
    background-color: #586F7C;
}
.navbar .navbar-nav > li.open > a:hover,
.navbar .navbar-nav > li.open > a:focus {
    background-color: #2F4550;
}
.nav >li > a:hover, .nav > li > a:focus {
  background-color: #586F7C;
}

ng-include在

中引用导航栏的文件中
<div ng-include="'html/navbar.html'"></div>

index.html的一部分,它引用了导航栏包含在

中的文件
<body>
 <div class="view-container">
     <div ng-view class="view-frame"></div>
 </div>
</body>

我认为问题可能出在ng-view或ng-include上,但到目前为止,上一个问题中没有任何修复工作。

3 个答案:

答案 0 :(得分:2)

一个快速黑客可能会将此添加到您的CSS

.nav >li > a:hover, .nav > li > a:focus {
    background-color: #586F7C;
}

编辑:我刚刚意识到你已经在另一个线程中看到了这样的解决方案,但我能够复制“你的错误”。 Here is a bootply,只是尝试注释掉css,然后会出现错误,css会按预期工作。

答案 1 :(得分:0)

问题在于:

.navbar .navbar-nav > li.open > a, {
    background-color: #586F7C;
}

额外&#34;,&#34;是问题。所以它最终只是一个语法错误,多么令人尴尬哈哈。难怪一切都应该正常工作,这只是一个错误的地方的逗号!

答案 2 :(得分:0)

一个小jQuery将解决问题。只需为闪烁的锚标记添加以下内容即可。

```

  $('.navbar-custom .navbar-nav li a').on('mouseup', function(){
      $(this).blur();
  });

```