HTML / CSS需要div来获取父级垂直高度的100%

时间:2013-04-10 21:38:21

标签: html css

我正在尝试创建一个代表这个小提琴的网页......

http://jsfiddle.net/jeljeljel/5BSva/

我希望标签下方左侧导航的垂直线绘制到位于页面底部的页脚顶部。

页脚功能需要保留。也就是说,如果页面内容不占用整个页面,则页脚将保留在底部。如果页面内容超出视口的高度,则页脚会被按下。

有人能解决这个问题吗?这个肯定是具有挑战性的。

HTML

<div class="wrapper">
    <div class="header">
        HEADER
    </div>
    <div class="body">


        <ul class="nav nav-tabs" id="tabcontrol">
            <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
        </ul>

        <div class="tab-content">
            <div class="tab-pane active" id="home" style="">
                <div class="navigation" style="">
                    navigation<br />
                    navigation<br />
                    navigation<br />
                </div>
                <div class="content">
                    content
                </div>
            </div>
        </div>


    </div>
    <div class="push">
    </div>
</div>
<div class="footer center">
    <div style="border-bottom: 2px solid rgb(174, 174, 201); background-color: #fff;"></div>
    <div>
        FOOTER
    </div>
</div>

CSS

.body {
    border: 1px solid rgb(174, 174, 201);
    border-top: 5px solid rgb(174, 174, 201);
    border-bottom: 5px solid rgb(174, 174, 201);
    border-left: 2px solid rgb(174, 174, 201);
    border-right: 2px solid rgb(174, 174, 201);
    padding-bottom: 1000px;
    margin-bottom: -1000px;
}

/* Sticky Footer by Ryan Fait (http://ryanfait.com/) */
* {
    margin: 0;
}

html, body {
    height: 100%;
}

.wrapper {
    min-height: 100%;
    height: auto !important;
    height: 100%;
    margin: 0 auto -50px auto; /* the bottom margin is the negative value of the footer's height */
    overflow: hidden;
}

.footer {
    height: 50px;
    background-color: #f8f8f8;
}

.footer, .push {
    height: 50px; /* .push must be the same height as .footer */
    clear: both;
}

form {
    height: 100%;
}
/* Sticky Footer by Ryan Fait (http://ryanfait.com/) */

.navigation {
    float: left;
    width: 150px;
    border-right: 3px solid rgb(174, 174, 201);
    padding-top: 10px;
    white-space: nowrap;
}

.content {
    padding-top: 10px;
}

.nav {
    margin-bottom: 0px;
}

2 个答案:

答案 0 :(得分:1)

好的。

你只需要让你的列定位为absolte然后调整其余部分 这里是您必须添加的代码才能使其工作。

.navigation {

    position:absolute;
    bottom:50px;
    top:65px;
        }
.content {
    margin-left:160px;
}

here是你更新的小提琴(我做了一个红色页脚,使其更加明显)
希望这有助于 欢呼声

答案 1 :(得分:0)

如果我理解你想要的东西,你需要制作一个人造柱!

http://line25.com/articles/create-sidebars-of-equal-height-with-faux-columns

:)希望这有助于回答你的问题