如何使用Bootstrap 3(固定导航)使导航栏透明并更改颜色?

4

我已经试了一个星期,但始终无法找到如何解决这个问题。我的HTML导航栏如下所示:

<div class="maincontainer">
<!--Navbar-->
<div data-spy="affix" data-offset-top="60" data-offset-bottom="200">
  <div class="navbar navbar-default navbar-fixed-top" role="navigation">
    <div class="container">
        <div class="navbar-header" >
                        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <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="#">Pixoweb</a>
        </div>
        <div class="navbar-collapse collapse">
            <ul class="nav navbar-nav navbar-right">
                <li class="active"><a href="#">Home</a></li>
                <li><a href="#">About</a></li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Examples<b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a href="#">Example 1</a></li>
                        <li><a href="#">Example 2</a></li>
                        <li><a href="#">Example 3</a></li>
                        <li><a href="#">Example 4</a></li>
                    </ul>
                </li>
                <li><a href="#contact" data-toggle="modal">Contact</a></li>
            </ul>
        </div>
    </div>
</div>

JavaScript

    $('#myAffix').affix({
  offset: {
    top: 100,
    bottom: function () {
      return (this.bottom = $('.footer').outerHeight(true))
    }
  }
})

css

      .affix {
    position: fixed !important;
    top: 0 !important;
    width: 100% !important;
    background-color: #957595 !important;
}

到目前为止,这使得导航栏在上下文和图像后面。希望有人能帮助我解决这个问题。

2个回答

7

导航栏并没有被文本/图像遮挡,而是通过Bootstrap Affix进行3D变换,使其看起来好像被遮挡了。我猜你想在固定(affixed)导航栏时更改其背景颜色。您可以使用以下CSS。注意:您不需要JavaScript。

```css .affix { background-color: #f7f7f7; } ```
.affix .navbar-default {
    position: fixed !important;
    top: 0 !important;
    width: 100% !important;
    background-color: #957595 !important;
}

.affix {
    width: 100% !important;
}

非常感谢。颜色已经改变了,但由于某种原因,导航栏仍然显示在内容和图片后面。您知道如何修复吗? - Josh Drummond

0

我也曾经遇到过菜单显示在图片后面的问题,我通过在我的导航类中添加“z-index: 1;”来解决它。例如:在样式表中使用.navbar-inverse。

.navbar-default {
  background-color: #201f1f;
  border-color: #f47d20;
  border-bottom:#f47d20 5px solid;
  padding-bottom:0px;
  z-index: 1;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接