Navbar中折叠的菜单:从列表元素中删除透明边距?

时间:2016-01-26 22:58:05

标签: html css twitter-bootstrap

我一直在搜索这几个小时,然后倒过引导代码无效,所以我在这里!我将导航栏设置为以991px折叠,并且一旦查看,列表元素就具有我想要的背景颜色,但是当您将鼠标悬停在它们上面时,每个列表元素显然都有透明边距。我怎么摆脱这个边缘,我一直在搞乱 navbar-nav li a ,导航栏中的链接是H5s所以 navbar-nav li a H5 。最后一个列表元素是一个下拉链接,在点击媒体查询时,它仍然好像在盘旋,所以我假设有一个焦点标记,我只是想不知道如何解决这两件事(仍然很新如果您不知道CSS / Bootstrap)。以下是HTML,非常感谢任何帮助!

<nav class="navbar navbar-default navbar-fixed-top">
<div class="container-fluid">
  <!-- Brand and toggle get grouped for better mobile display -->
  <div class="navbar-header">
    <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"  data-target="#topFixedNavbar1"  aria-expanded="false"><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="#">Logo</a></div>
  <!-- Collect the nav links, forms, and other content for toggling -->
  <div class="collapse navbar-collapse" id="topFixedNavbar1">



    <ul class="nav navbar-nav navbar-right links">
      <li><a href="#"><h5>How We Work</h5></a></li>
      <li><a href="#"><h5>Abous Us</h5></a></li>

      <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><h5>Course Subjects</h5><span class="caret"></span></a>
        <ul class="dropdown-menu dropdown-menu-right">
          <li><a href="#">Action</a></li>
          <li><a href="#">Another action</a></li>
          <li><a href="#">Something else here</a></li>
          <li role="separator" class="divider"></li>
          <li><a href="#">Separated link</a></li>
        </ul>
      </li>
    </ul>
  </div>
  <!-- /.navbar-collapse -->
</div>
<!-- /.container-fluid -->

这是CSS(我包含整个文件,但我很确定问题与媒体查询有关):

body{
padding-top: 120px; 
background-color:#34A0CD;
}
.navbar-default{
height:120px;
}
.navbar-header, .navbar-brand{
height:120px;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
margin-left: 0px;   
}

#topFixedNavbar1{
height:120px;
}
.links{
height:120px;

}
.navbar-nav li a h5{
line-height:80px;
}
.dropdown li a {
line-height:30px;
}
@media (max-width: 991px) {
.dropdown li a{
    line-height:30px;
}

.collapse.navbar-collapse{
    width:100%;

}
.links li a{

    width:100%;
}
.navbar-header {
    float: none;
}
.navbar-toggle {
    display: block;
}
.navbar-collapse {
    border-top: 1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);

}

.navbar-collapse.in {
overflow-y: visible;
}

.navbar-collapse.collapse {
    display: none!important;

}
.navbar-nav {
    float: none!important;

}
.navbar-nav>li {
    float: none;
}
.navbar-nav li a h5{
line-height: 30px;
background-color: gray;
color: #F1E9E9;     
}
.navbar-nav li a{
    background-color:gray;
    width:100%;
}

.navbar-text {
    float: none;
    margin: 15px 0;
}
/* since 3.1.0 */
.navbar-collapse.collapse.in { 
    display: block!important;
}
.collapsing {
    overflow: hidden!important;
}

}

1 个答案:

答案 0 :(得分:0)

我分成了一个用Bootstrap创建的小提琴,然后扔了你的代码,所以我想我可能已经复制了这个问题。该问题似乎根本不是边距,而是默认情况下在Bootstrap中在悬停/焦点时设置为transparent的背景颜色。

.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
    color: rgb(51, 51, 51);
    background-color: transparent;
}

我测试了一个简单的修改,以覆盖默认样式,它似乎工作。

.navbar-collapse .navbar-nav>li>a:hover,
.navbar-collapse .navbar-nav>li>a:focus{
  background-color: gray;
}

Here's a demo

显然你可以修改它,但这应该让你走上正轨。