制作Bootstrap静态导航栏覆盖内容,如fixed-navbar

时间:2015-03-11 19:04:00

标签: twitter-bootstrap twitter-bootstrap-3 navbar

使用bootstrap 3.我有一个具有背景图案的全屏英雄/介绍部分。

我想要什么

  1. 一个静态导航栏,覆盖此英雄部分,以便英雄部分的背景图案显示在导航栏的背景中(就像我使用“navbar-fixed-top”而不是“navbar-static-top”一样) )。
  2. 我希望它看起来像(navbar-fixed-top style): desired look

    1. 当导航栏在移动视图中折叠时,汉堡图标会显示导航栏链接,而不会按下英雄部分。
    2. desired look

      发生什么

      1. 在英雄部分之前使用“静态”堆叠导航栏部分而不是覆盖它 actual look
      2. 按下汉堡包图标按下英雄部分而不是覆盖它 enter image description here
      3. 任何想法如何在不给英雄部分带来负余量的情况下实现这一目标?

        我的HTML:

        <nav class="navbar navbar-static-top" role="navigation">
            <div class="container">
                <div class="navbar-header">
                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-main-collapse">
                        <i class="fa fa-bars"></i>
                    </button>
                    <div class="navbar-brand" href="#page-top">
                        <img src="http://placehold.it/200x80" alt=" Logo" width="100">
                    </div>
                </div>
        
                <!-- Collect the nav links, forms, and other content for toggling -->
                <div id="navbar-main-collapse" class="collapse navbar-collapse navbar-right">
                    <ul class="nav navbar-nav">
                        <li class="active"><a href="..." target="_blank"><i class="fa fa-folder-open"></i> Link 1</a></li>
                    </ul>
                </div>
                <!-- /.navbar-collapse -->
            </div>
            <!-- /.container -->
        </nav>
        
        <section id="hero" class="full-screen-section">
            <div class="cell-mid">
                <div class="section-body">
                    <div class="container">
                        <div class="row">
                            <div class="col-md-2 col-md-offset-1 text-right">
                                <img src="http://placehold.it/300x120" id="faceOne" class="img-max hidden-xs hidden-sm">
                            </div>
                            <div class="col-md-6 text-left">
                                <h1 class="brand-heading">EXAMPLE HEADING</h1>
                            </div>
                            <div class="col-md-2 text-left">
                                <img src="http://placehold.it/300x120" id="faceTwo" class="img-max hidden-xs hidden-sm">
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>
        

        我的CSS:

        /* --------------- Nav --------------- */
        
        .navbar {
            padding: 1em 0;
            margin-bottom: 0;
            border: none;
            text-transform: uppercase;
            background-color: transparent;
            background-image: none;
        }
        
        .navbar a {
            color:#fff;
        }
        
        /* --------------- Hero --------------- */
        
        #hero {
            display: table;
            width: 100%;
            height: 100%;
            padding: 200px 0 50px 0;
            text-align: center;
            color: #fff;
            background: linear-gradient(
              rgba(248, 153, 153, 0.68), 
              rgba(248, 153, 153, 0.68)), url('bg-science.png');
            -webkit-box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.5);
            -moz-box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.5);
            box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.5);
        }
        

        修改: 找到解决方案,感谢@airbean。刚刚使用了navbar-fixed-top类,并在导航栏类中添加了“position:absolute”。

2 个答案:

答案 0 :(得分:7)

@Aibrean帮了忙。我使用了navbar-fixed-top类,并在navbar类中添加了“position:absolute”。

答案 1 :(得分:0)

我知道这是一个旧线程,但我遇到了同样的问题,我将导航栏定位在导航栏右侧的链接位于左侧。