Bootstrap下拉重叠容器div,而不是将其向下推

时间:2013-08-02 11:58:33

标签: javascript html css twitter-bootstrap

我最近开始使用Twitter Bootstrap并且发现它非常直观,除了一件事。

我目前正在构建一个网站,其中包含一个包含图像的包装器(类.sliderwrap),最终将替换为图像滑块。图像/滑块覆盖了h1文本,该文本位于绝对位置。

在较小的屏幕宽度上,我的导航菜单变为下拉列表。当下拉列表打开时,它会在.sliderwrap内向下按下图像,但会重叠.sliderwrap本身和绝对定位的文本,而不是将其向下推。这显然会破坏h1文本,我希望将其与图像一起沿着页面传播。

如何让下拉按下.sliderwrap本身而不是重叠一些呢?

Here's the page I'm having the issue with.(请原谅下拉本身的样式,它还远未完成!)

2 个答案:

答案 0 :(得分:4)

我认为最简单的解决方案是您需要在主菜单和辅助菜单中清除浮动。

如你所见,你有:

<div class="navbar navbar-static-top">...</div>

你也有:

<div class="secondmenu">...</div>

清除这些内容的最简单方法是将它们放在.row类或.row-fluid中。我还建议您养成在代码中添加行的习惯,这样就可以清楚地了解这些内容。

您的代码应该看起来像这样:

<div class="row">
  <div class="navbar navbar-static-top">...</div>
  <div class="secondmenu">...</div>
</div>

最后但并非最不重要的......您的文字与滑块div完全无关,而是与浏览器镶边相关,因此您需要使滑块容器具有position: relative,因此任何元素都设置为该容器内的position: absolute(在这种情况下,您的h1)将完全根据其父容器定位。

所以在你的风格中设置它:

.sliderwrap {
  position: relative;
}

这几乎修复了你的双重菜单,因此它清除了滑块和文本。让我知道这是否适合您,如果您需要澄清答案,请不要忘记投票或接受答案,如果它有效!欢呼声。

答案 1 :(得分:0)

试试这个

body html

<body class="blackley">
    <!--content goes here-->
    <!-- Navigation -->
    <div style="position: relative;">
        <div class="navbar navbar-static-top">
            <div class="navbar-inner">
                <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"><span
                    class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span>
                </a><a class="brand" href="#">
                    <img src="img/logo.png" class="logo" />Blackley Golf Club</a>
                <div class="firstmenu">
                    <div class="nav-collapse">
                        <ul class="nav">
                            <li><a href="#">Tee Bookings</a></li>
                            <li><a href="#">Societies</a></li>
                            <li><a href="#">Open Comps</a></li>
                            <li><a href="#">Functions</a></li>
                        </ul>
                        <form class="navbar-search pull-right">
                        <input type="text" class="search-query" placeholder="Search here...">
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <!-- End Navigation -->
    <!--begin second navigation -->
    <!--image slider -->
    <div class="sliderwrap">
        <div class="secondmenu">
            <div class="">
                <ul class="menu">
                    <li class="active"><a href="#">Home</a></li>
                    <li><a href="#">Course</a></li>
                    <li><a href="#">Pro Shop</a></li>
                    <li><a href="#">Membership</a></li>
                    <li><a href="#">Sections</a></li>
                    <li><a href="#">History</a></li>
                    <li><a href="#">News</a></li>
                </ul>
            </div>
        </div>
        <div class="friendlyclub container">
            <h1>
                Welcome to Blackley Golf Club
                <br />
                "The Friendly Club"</h1>
        </div>
        <img src="img/sliderphoto.png" alt="slider photo 1" />
    </div>
    </div>
    <div class="weather">
    </div>
    <!--Main content -->
    <div class="info">
        <div class="container">
            <div class="row">
                <div class="span4">
                    <div class="imgborder">
                        <img src="img/lake.png" />
                    </div>
                </div>
                <div class="span8">
                    <h2>
                        About Blackley Golf Club</h2>
                    <p>
                        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur tellus tellus,
                        placerat vitae faucibus ut, luctus sit amet est. Proin mollis velit nec leo mollis
                        fringilla. Nunc vitae augue vitae elit feugiat malesuada. Integer libero nisi, sodales
                        a auctor eget, ultrices nec justo. Nullam ullamcorper neque erat, in faucibus enim
                        tristique non. Vivamus elementum est non urna mollis malesuada.</p>
                    <p>
                        Nunc vitae augue vitae elit feugiat malesuada. Integer libero nisi, sodales a auctor
                        eget, ultrices nec justo. Nullam ullamcorper neque erat, in faucibus enim tristique
                        non. Vivamus elementum est non urna mollis malesuada.</p>
                </div>
            </div>
        </div>
    </div>
    <!-- End row -->
    <div class="main-content container">
        <div class="row top-space">
            <div class="span4 news">
                <img src="img/newsphoto.png" alt="news photo" />
                <p>
                    June 27, 2013</p>
                <h2>
                    Experience this summer with a bit of a bite...</h2>
                <p>
                    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur tellus tellus,
                    placerat vitae faucibus ut, luctus sit amet est. Proin mollis velit nec leo mollis
                    fringilla. Nunc vitae augue vitae elit feugiat malesuada. Integer libero nisi, sodales
                    a auctor eget, ultrices nec justo. Nullam ullamcorper neque erat, in faucibus enim
                    tristique non</p>
                <p class="readmore pull-right">
                    + Read More</p>
            </div>
            <div class="span4 news">
                <img src="img/newsphoto.png" alt="news photo" />
                <p>
                    June 27, 2013</p>
                <h2>
                    Experience this summer with a bit of a bite...</h2>
                <p>
                    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur tellus tellus,
                    placerat vitae faucibus ut, luctus sit amet est. Proin mollis velit nec leo mollis
                    fringilla. Nunc vitae augue vitae elit feugiat malesuada. Integer libero nisi, sodales
                    a auctor eget, ultrices nec justo. Nullam ullamcorper neque erat, in faucibus enim
                    tristique non</p>
                <p class="readmore pull-right">
                    + Read More</p>
            </div>
            <div class="span4 news">
                <img src="img/newsphoto.png" alt="news photo" />
                <p>
                    June 27, 2013</p>
                <h2>
                    Putt a bit of drive into your summer</h2>
                <p>
                    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur tellus tellus,
                    placerat vitae faucibus ut, luctus sit amet est. Proin mollis velit nec leo mollis
                    fringilla. Nunc vitae augue vitae elit feugiat malesuada. Integer libero nisi, sodales
                    a auctor eget, ultrices nec justo. Nullam ullamcorper neque erat, in faucibus enim
                    tristique non</p>
                <p class="readmore pull-right">
                    + Read More</p>
            </div>
        </div>
        <!-- End row -->
        <div class="row">
            <div class="span12">
                <ul class="footernav">
                    <li><a href="#">Home</a></li>
                    <li><a href="#">Course</a></li>
                    <li><a href="#">Pro Shop</a></li>
                    <li><a href="#">Membership</a></li>
                    <li><a href="#">Sections</a></li>
                    <li><a href="#">History</a></li>
                    <li><a href="#">News</a></li>
                    <li><a href="#">Members Login</a></li>
                    <li><a href="#">Location</a></li>
                    <li><a href="#">Contact Us</a></li>
                </ul>
            </div>
            <div>
                <!-- End row -->
            </div>
        </div>
        <!-- End container -->
        <!--End main content -->
        <div id="push">
        </div>
    </div>
    <div class="navbar-inverse">
        <div class="navbar-inner">
            <div class="container">
                <div class="pull-left">
                    <p class="footertext">
                        © 2003-2013 by Blackley Golf Course. All rights reserved.</p>
                </div>
                <div class="pull-right">
                    <p class="footertext">
                        Powered by Intelligolf</p>
                </div>
            </div>
        </div>
        <!-- JavaScripts -->
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
        <script src="js/bootstrap.min.js"></script>
        <!--Typekit call -->
</body>

覆盖css

/* CUSTOM STYLING */

/* apply a natural box layout model to all elements */
*, *:before, *:after
{
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}


body
{
    font-family: 'source-sans-pro' , sans-serif;
    font-weight: 400;
    background: #f6f7f0;
}

h2
{
    color: #0099ea;
    font-size: 18px;
    line-height: 20px;
    font-weight: 400;
}


/* NAVIGATION */

.navbar .brand
{
    color: #0099ea;
    line-height: 60px;
}

.navbar .brand .logo
{
    width: 70px;
}

.nav-collapse
{
    background-color: #fff;
    z-index: 1000;
    width: 100%;
}

.navbar-inner
{
    height: 80px;
    background: #ffffff;
}

.navbar-search
{
    line-height: 70px;
}

.navbar-search .search-query
{
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.nav li
{
    line-height: 60px;
}

.firstmenu
{
    float: right;
}


/* SECOND NAV MENU */

.secondmenu
{
    box-model: content-box;
    position: absolute;
    left: 3%;
    top: 20%;
    float: left;
}

.secondmenu .menu li
{
    list-style: none;
    text-align: right;
    font-size: 18px;
    background-color: #424242;
    border-bottom: 5px #fff solid;
    display: inline-block;
    float: right;
    clear: right;
    margin-bottom: 7px;
}

.secondmenu .menu li.active
{
    background-color: #0099ea;
}

.secondmenu .menu li a
{
    display: block;
    color: #fff;
    height: 20px;
    margin-top: 10px;
    padding: 10px 15px 15px 40px;
    line-height: 5px;
}



/* SLIDER */

.friendlyclub
{
    position: absolute;
    right: 160px;
    top: 100px;
    float: right;
}

.friendlyclub h1
{
    color: #fff;
    text-align: right;
    line-height: 50px;
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 1);
}

.sliderwrap
{
    float: left;
    position: relative;
    width: 100%;
}

.sliderwrap img
{
    margin-bottom: 0;
    min-width: 100%;
    max-height: 600px;
    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

.info
{
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: #fff;
    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
}


.imgborder
{
    background: #f6f7f0;
}

.imgborder img
{
    padding: 7px;
}


.top-space
{
    margin-top: 50px;
    margin-bottom: 50px;
}

/* row of span4s, news */

.span4.news
{
    position: relative;
    padding: 30px 30px 20px 30px;
    min-height: 444px;
    background: #ffffff;
    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
}

.span4.news h2
{
    margin-bottom: 15px;
}

.span4.news h3
{
    color: #999999;
    font-size: 18px;
    font-weight: 400;
}

.span4.news img
{
    margin: 0 0 20px 0;
    width: 100%;
}

.span4.news p.readmore
{
    position: absolute;
    text-transform: uppercase;
    bottom: 10px;
    right: 30px;
}


.imgborder
{
    padding: 10px;
}

.full-width
{
    width: 100%;
}

/* NAV ABOVE FOOTER */

.footernav
{
    margin-bottom: 10px;
    margin-left: 0;
}

.footernav li
{
    position: relative;
    left: 0;
    display: block;
    float: left;
    margin: 0 10px 0 0;
}

.footernav li:after
{
    content: ' /';
}

.footernav li:last-child:after
{
    content: ' ';
}

.footernav li a
{
    color: #424242;
}


/* FOOTER */
.push
{
    height: 40px;
}

.navbar-inverse
{
    margin-bottom: -40px;
}
.navbar-inverse .navbar-inner
{
    height: 40px;
    margin-top: 20px;
}

.navbar-inverse .navbar-inner .footertext
{
    color: #ffffff;
    line-height: 40px;
}


/* RESPONSIVE */

@media screen and (max-width: 980px)
{

    .firstmenu
    {
        clear: both;
        margin-right: -20px;
        display: block;
        position: relative;
    }

    .firstmenu
    {
        width: 50%;
        padding: 0;
    }

    .secondmenu
    {
        box-model: content-box;
        position: absolute;
        left: 3%;
        top: 20%;
        float: left;
    }

    .secondmenu li
    {
        text-align: left;
        float: left;
    }

    .secondmenu li a
    {
        text-align: left;
        float: left;
    }

    .secondmenu .menu li
    {
        list-style: none;
        text-align: right;
        font-size: 14px;
        border-bottom: 5px #fff solid;
        display: inline-block;
        float: left;
        clear: left;
        margin-bottom: 7px;
    }

    .secondmenu .menu li a
    {
        display: block;
        color: #777;
        height: 20px;
        margin-top: 10px;
        padding: 10px 15px 15px 40px;
        line-height: 5px;
    }

    .secondmenu .menu li + li a
    {
        margin-bottom: 2px;
    }
    .secondmenu .menu > li > a:hover, .secondmenu .menu > li > a:focus, .secondmenu .menu a:hover, .secondmenu .menu a:focus
    {
        background-color: #f2f2f2;
        text-decoration: none;
    }

    .secondmenu .menu > li > a, .secondmenu .menu a
    {
        padding: 9px 15px;
        display: block;
        width: 100%;
        font-weight: bold;
        color: #777777;
        margin-bottom: 0;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        border-radius: 3px;
    }