html – 在内容容器上设置最小高度

前端之家收集整理的这篇文章主要介绍了html – 在内容容器上设置最小高度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个案例,我没有看到解决方案.这是我的问题:

我有一个页面有三个部分(页眉,部分和页脚)页脚必须始终冲到底部.部分部分应该占据页眉和页脚之间的所有可用位置,但必须具有根据页面不同的最小高度(我将在CSS上手动设置它).

达到最小高度时,应该可以在整个页面上滚动.

这是我用来设置我的标题,部分和页脚占用所有可用位置的代码示例.

CSS

body {
    margin: 0
}
header,section,footer {
    left:0;
    right:0;
    overflow: hidden;
    position: absolute;
}
header {
    height: 70px;
    top: 0;
    background-color: green;
}
section {
    top: 70px;
    bottom: 195px;
    background-color: gray;
    min-height:300px;
}
article {
    overflow: hidden;
    background-color:lightyellow;
}
.news {
    position: absolute;
    bottom: -30px;
    width: 100%;
    background-color: lime;
}
footer {
    height: 195px;
    bottom: 0;
    background-color: pink;
}

HTML

<header>
    <div class="container">
        <h2>My header</h2>
    </div>
</header> 
<section>
    <article>
        <div class="news">
            <div class="row-fluid">
                <a href="#">UP</a>
            </div>
            <div class="row-fluid">
                <div class="container">
                    <div class="span6">News 1</div>
                    <div class="span6">News 2</div>
                </div>
            </div>
        </div>
    </article>
</section> 
<footer>
    <div class="container">
    My footer
</div>
</footer>​

一个jsfiddle可用于示例:http://jsfiddle.net/Nk6uY/

编辑

我如何在我的部分添加一个最小高度,当它到达时,我的窗户上有一个滚动条?

编辑2

我将添加更多关于我的问题的信息.首先,我在section标签内的内容大部分将以绝对值设置.并隐藏一些并出现在动作(主要是javascript)上.出于这个原因,我知道每个部分,如果有人点击链接,我需要看到我的所有内容的最小高度.

对于我的例子,div新闻是隐藏的,当你点击它时,至少需要360px才能看到.但是如果我的窗户比这个小,我的窗户上没有卷轴,我的所有内容都被页脚覆盖了.

解决方法

你只能通过javascript实现这一点 – 你需要提供你的标题,部分和页脚ID,然后使用这样的东西:
function ResizeBody() {
    var header = document.getElementById("Header");
    var section = document.getElementById("Section");
    var footer = document.getElementById("Footer");

    var height = GetBodyHeight() - header.offsetHeight - footer.offsetHeight - anyPaddingToTopOrBottomOfThreeMainSections;
    if (height > 0) {
         body.style.height = height + "px";
    }
}

function GetBodyHeight() {
    if (window.innerHeight > 0) {
        return window.innerHeight;
    }
    else {
        return document.documentElement.clientHeight;
    }
}

window.onresize = function () {
    ResizeBody();
};


$(document).ready(function () {
    ResizeBody();
});

UPDATE

对不起,我想我读错了这个问题 – 你是否希望该部分增长到屏幕尺寸,或者如果有太多内容有滚动条,你是否手动设置它?

在这种情况下,您应该只设置该部分的高度(而不是最小高度)而不是溢出:隐藏使用溢出:滚动;

猜你在找的HTML相关文章