HTML 中使 footer 始终处于页面底部

通常在页面中,需要使页脚 footer 部分始终处于底部。当页面高度不够 100% 时, footer 处于页面最底部,当页面内容高于 100% 时,页脚元素可以被撑到最底部。

方法一:绝对定位

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>旋转六面体动画</title>
    <style>
        * {
            padding: 0;
            margin: 0;
            box-sizing: border-box;
        }

        html {
            height: 100%
        }
        /* 这里footer的父元素为 body, 实际应用中,不一定要以body为父元素,只要确保footer的父元素的最小高度为100%就行 */
        body {
            position: relative;
            min-height: 100%;
            padding: 0;
            padding-bottom: 40px;
        }

        #footer {
            height: 40px;
            background: #eee;
            width: 100%;
            position: absolute;
            bottom: 0;
        }
    </style>
</head>

<body>
    <div class="box">
        <h1>content</h1>
        <h1>content</h1>
        <h1>content</h1>
        <h1>content</h1>
        <h1>content</h1>
    </div>
    <footer id="footer">
        <p>footer footer footer</p>
    </footer>
</body>

</html>

方法二: flex 布局

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>footer</title>
    <style>
        * {
            padding: 0;
            margin: 0;
            box-sizing: border-box;
        }

        html {
            height: 100%
        }

        body {
            height: 100%;
            display: flex;
            flex-direction: column;
        }

        #header {
            height: 40px;
            background: red;
            flex: 0 0 auto;
        }

        #box {
            background: #eee;
            flex: 1 0 auto;
        }

        #footer {
            height: 40px;
            background: rgb(129, 129, 201);
            flex: 0 0 auto;
        }
    </style>
</head>

<body>
    <header id="header">
        header header header
    </header>
    <div id="box">
        <h1>content</h1>
        <h1>content</h1>
        <h1>content</h1>
        <h1>content</h1>
        <h1>content</h1>
    </div>
    <footer id="footer">
        <p>footer footer footer</p>
    </footer>
</body>

</html>

posted @ 2019-01-15 15:46  Mr.曹  阅读(2799)  评论(0编辑  收藏  举报