在页面底部设置没有 position:fixed 的底部导航栏菜单(bootstrap、css3)

Set bottom navbar menu on the bottom of the page without a position:fixed (bootstrap, css3)

我想更改我的 css 以便页面底部菜单保留在那里(如固定)但没有 position:fixed.

为什么?

确实,使用 Boostrap 3,我正在使用 navbar-fixed-bottom .

但是 position:fixed is not supported at all on Opera Mini which accounts for 10% almost of mobile browsers (see here).

如果没有 position:fixed 怎么创建这个?

3 个限制条件:

这是我想做的一个例子:

这是我当前使用固定位置的代码:

<div>
    <nav role="navigation" class="navbar navbar-default navbar-fixed-bottom"> 
        <div class="container">
            <!-- Title -->
            <div class="navbar-bottom pull-left">
              <a href="/" class="navbar-brand">BIGGA</a>
            </div>

            <!-- The non-Collapsing items on navbar-LEFT  -->
            <div class="collapse navbar-collapse navbar-left">
                <!-- pull-right keeps the drop-down in line -->
                <ul class="nav navbar-nav pull-right">
                  <li>
                    <a href="/news">News</a> 
                  </li>
                </ul>
            </div>

            <!-- 'Sticky' (non-collapsing) right-side menu item(s) -->
            <div class="navbar-bottom pull-right">
                <ul class="nav pull-left">
                    <!-- This works well for static text, like a username -->
                    <li class="navbar-text pull-left">User Name</li>
                    <!-- Add any additional bootstrap header items. This is a drop-down from an icon -->
                    <li class="dropup pull-right"> <a href="#" data-toggle="dropdown" style="color:#777; margin-top: 5px;" class="dropdow-toggle"><span class="glyphicon glyphicon-user"></span><b class="caret"></b></a>

                        <ul class="dropdown-menu">
                            <li> <a href="/users/id" title="Profile">Profile</a>

                            </li>
                            <li> <a href="/logout" title="Logout">Logout </a>

                            </li>
                        </ul>
                    </li>
                </ul>
                <!-- Required bootstrap placeholder for the collapsed menu -->
                <button type="button" data-toggle="collapse" data-target=".navbar-collapse" class="navbar-toggle"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span>

                </button>
            </div>                     


            <!-- Additional navbar items on the LEFT of the PULL-RIGHT stuff above -->
            <div class="collapse navbar-collapse navbar-right">
                <!-- pull-right keeps the drop-down in line -->
                <ul class="nav navbar-nav pull-right">
                    <li><a href="/locator">Locator</a>

                    </li>
                    <li><a href="/extras">Extras</a>

                    </li>
                </ul>
            </div>
        </div>
    </nav>
</div>

我会给你一个想法,关于如何解决它。

使用2 div秒,一个接一个。第一个 div 将包含您的图像,或您想要放入主要内容区域的任何内容。它的高度是 90%,当然你可以更改或修改它。第二个div是你的菜单栏,高度是10%,根据自己的需要修改。请注意 .image_content class 中的 overflow:auto,它将包含您的主要内容,无论其长度如何,并将菜单栏保持在底部。

<style>
.main_wrapper {
    height:100%;
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    z-index:9999;
}
.image_content {
    height:90%;
    background:red;
    overflow:auto;
}
.bottom_menu {
    height:10%;
    background:blue;
}
</style>

<div class="main_wrapper">
    <div class="image_content">
        Your main content here
    </div>
    <div class="bottom_menu">
        Menu here
    </div>
</div>

当然,去掉div中的红色和蓝色,它们只是为了测试。

添加了下图以更好地解释我的代码中发生了什么 -