单击后显示蓝框的Bootstrap下拉菜单

时间:2013-07-31 00:57:14

标签: twitter-bootstrap drop-down-menu navbar navigationbar

我正在使用Bootstrap为导航栏中的一个标签构建一个下拉菜单。我正在尝试定制它;但是,单击选项卡后,总会有这个蓝色框悬停标签。

如果我根本没有点击标签,就不会发生这种情况,但是在点击一次并将鼠标悬停在同一个标​​签上后就会发生这种情况。同样的事情发生在子菜单中。

我尝试过不同的方式来覆盖CSS,但它没有用。这是导航栏的代码。我该如何覆盖它?

 <nav class="navbar">
        <div class="navbar-inner">
            <a href="#" class="brand"><div id="brand_font">Christina Yang</div></a>
            <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </a>
            <div class="nav-collapse collapse">
            <ul class="nav">
                <li class="divider-vertical"></li>
                <li><a href="#" id="inner-color"><i class="icon-home"></i>home</a></li>
                <li class="divider-vertical"></li>
                <li><a href="#" id="inner-color"><i class="icon-comment"></i>blog</a></li>
                <li class="divider-vertical"></li>
                <li><a href="#" id="inner-color"><i class="icon-info-sign"></i>about</a></li>
                <li class="divider-vertical"></li>
                <li><a href="#" id="inner-color"><i class="icon-camera"></i>photography</a></li>
                <li class="divider-vertical"></li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="inner-color">
                        <i class="icon-user"></i>connect
                        <b class="caret"></b>
                    </a>
                    <ul class="dropdown-menu">
                        <li><a href="#">LinkedIn</a></li>
                        <li class="divider"></li>
                        <li><a href="#">contact</a></li>                                        
                    </ul>
                </li>
                <li class="divider-vertical"></li>
            </ul>
            </div>
        </div>
    </nav>  

这是我在本节中的相关CSS工作。

 @media (max-width: 767px) {

  .navbar .nav > .active > a:hover, .navbar .nav > .active > a:focus {
    background-color: #009999;
    display: none;
    border: none;
    /*box-shadow: 0 3px 8px rgba(0, 0, 0, 0.125) inset;*/
    color: #555555;
    text-decoration: none;
  }
} 
  @media (max-width: 767px) {
   .nav-collapse .nav > li > a:hover, .nav-collapse .nav > li > a:focus, .nav-collapse .dropdown-menu a:hover, .nav-collapse .dropdown-menu a:focus {
      background-color: #009999;
  }


}
  @media (max-width: 480px) {

 .nav-collapse .nav > li > a:hover, .nav-collapse .nav > li > a:focus, .nav-collapse .dropdown-menu a:hover, .nav-collapse .dropdown-menu a:focus{
    background-color: #009999;
  }

}


.dropdown-menu a:hover,.dropdown-menu a:focus{
  filter:none !important;
  -webkit-transition:background 1s ease;
  -moz-transition:background 1s ease;
  -o-transition:background 1s ease;
  transition:background 1s ease;
}

.dropdown-menu::after, .dropdown-menu::before{
   border:none !important;
}

@media (max-width: 979px) {


    .navbar .nav > li > .dropdown-menu:after {
        border: none;
    }

    .navbar .nav > li > a, .navbar .dropdown-menu a {
        border-radius: 0;
        color: white;
        font-weight: normal;
        padding: 10px 10px 11px;
    }


    .dropdown-toggle > a:visited {
        border: none;
    display: none;
    box-shadow: none;

    } 

  .dropdown-toggle > a:active {
    border: none;
    display: none;
    box-shadow: none;

  } 

    .navbar .nav > li > a:hover {
        display: none;
    }

    .navbar .nav > li > a {
        font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;
    }


}

7 个答案:

答案 0 :(得分:0)

添加!对你要重写的css很重要。例如:

.nav-collapse .nav > li > a:hover, .nav-collapse .nav > li > a:focus, .nav-collapse .dropdown-menu a:hover, .nav-collapse .dropdown-menu a:focus{
    background-color: #009999 !important;
  }

答案 1 :(得分:0)

试试这个

.dropdown a {
background-color:#fff transparent !important; }

这可以从bootstrap中重置下拉类

答案 2 :(得分:0)

CSS outline: none;将起作用,并隐藏焦点上的蓝框

但请注意,这是Chrome,FF和Safari中的默认浏览器行为,并且会让视力不佳的人难以浏览您的网站。

您只应将其添加到网页上的不可导航元素。

答案 3 :(得分:0)

尝试将此css添加到您的a元素:

a,
a:link,
a:hover,
a:visited,
a:active,
a:focus
  background-color: transparent;

这适用于bootstrap的下拉菜单,也适用于你的情况。如果有必要,还要添加!important属性。

请注意,您有 4个相同的ID ,这看起来有点棘手。

答案 4 :(得分:0)

对于引导程序4,您可以仅从btn元素中删除a css类。这样,整个过程将像常规链接一样运行。链接的悬浮效果也可能很烦人,这就是为什么我在这里将其添加到CSS文件中的原因:

.dropdown-toggle:hover {
  color: black;
  text-decoration: none;
}

这会关闭link元素的悬停效果。

答案 5 :(得分:0)

我在bootstrap.css中搜索了蓝色#007bff,发现某个项目处于活动状态或单击时的样式是:

.dropdown-item.active, .dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #007bff;
}

例如,您可以覆盖它:

.dropdown-item.active, .dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: red;
}

!important似乎不是必需的。

答案 6 :(得分:0)

请勿更改bootstrap.css。创建另一个CSS文件,您可以在其中覆盖它。

select
    product_id, 
    dt,
    first_value(amount) over(partition by product_id, grp order by dt) amount
from (
    select 
        x.*, 
        t.amount,
        count(*) filter(where t.amount is not null) 
            over(partition by x.product_id order by x.dt) grp
    from (
        select product_id, generate_series(min(date), max(date), '1 day'::interval) dt
        from mytable
        group by product_id
    ) x
    left join mytable t on t.product_id = x.product_id and t.date = x.dt
) t
order by product_id, dt

将background-image设置为none,将background-color设置为所需的任何颜色。如果仍然无法使用,请使用!important。