修复了Bootstrap导航栏到动态宽度DIV的顶部 - 不是页面的全宽

时间:2013-09-13 16:09:46

标签: css twitter-bootstrap navigation css-position fixed

我的问题

我正在使用Bootstrap 3.0并且需​​要使用固定的导航栏,它将保留在左侧的DIV顶部并且不会一直延伸到窗口宽度的100%(就像我通常看到Bootstrap的示例一样)做)。我在下面有一些非常简单的代码,使用ASP.NET MVC 4来解释RenderSection区域。

我附上了一张图片,显示了我要做的事情。目前,导航栏仅延伸左侧容器的75%左右,而不是我想要的左侧容器的100%。

就像我上面说的那样,我希望导航栏被修复,所以当你滚动它时,它会留在DIV中的一个位置。

任何提示/提示将不胜感激!谢谢!

我也看到了这个问题(Navbar fixed to top but not full-width),但我不想在媒体查询中以固定像素宽度动态维护此导航栏。我更喜欢它填写包含它的整个左侧DIV。

image which outline my issue(s) (的 http://i.imgur.com/YLzmkHp.jpg

我的代码

<div class="container">
    <div class="row">
        <!--LEFT SIDE-->
        <div class="col-md-9">
            <div data-spy="affix" data-offset-top="0">
            <nav class="navbar navbar-default" role="navigation">
                <div class="collapse navbar-collapse navbar-ex1-collapse">
                    <ul class="nav navbar-nav">
                        <li class="active"><a href="#">Link</a></li>
                        <li><a href="#">Link</a></li>
                        <li class="dropdown">
                            <a data-toggle="dropdown" class="dropdown-toggle" href="#">Dropdown <b class="caret"></b></a>
                            <ul role="menu" class="dropdown-menu">
                                <li><a href="#">Action</a></li>
                                <li><a href="#">Another action</a></li>
                                <li><a href="#">Something else here</a></li>
                                <li><a href="#">Separated link</a></li>
                                <li><a href="#">One more separated link</a></li>
                            </ul>
                        </li>
                    </ul>
                    <form role="search" class="navbar-form navbar-left">
                        <div class="form-group">
                            <input type="text" placeholder="Search" class="form-control">
                        </div>
                        <button class="btn btn-default" type="submit">Submit</button>
                    </form>
                </div>
            </nav>    
            </div> <!--end data-spy=affix-->

            <!--the LeftSide below just contains basic placeholder text in a <p> tag-->
            @RenderSection("LeftSide", true)

        </div>
        <!--RIGHT SIDE-->
        <div class="col-md-3">

            <!--the RightSide below just contains basic placeholder text in a <p> tag-->
            @RenderSection("RightSide", true)

        </div>
    </div>
</div>

部分解决(更新)

我能够通过使用jQuery这个位来解决我上面列出的主要问题

 $(window).resize(function () {
     var w = $("#leftSide").width();
     $("#navWrapper").css("width", w);
 });

但是在iFrame中工作。

如果有人对iFrame中的解决方案有任何见解,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

您是否尝试将导航栏和主要内容区域放在一列中,然后将右侧边栏放在一列中?然后添加一些CSS来纠正导航栏位置并调整响应性。

LINK:http://www.bootply.com/ZJCGxiUD6g