如何在 HTML/CSS 中创建保留在页面底部的粘性标题?

问题描述 投票:0回答:1

我正在开发一个网站项目,我想确保我的页脚始终位于页面底部。如果内容比视口高度短,页脚仍应粘在底部。但是,如果有更多内容需要滚动,则页脚应仅出现在主要内容之后。

我尝试过使用position:fixed;页脚,但即使当我滚动时它仍保留在屏幕上。我怎样才能实现一个如描述的那样的粘性页脚?

asp.net
1个回答
0
投票

这应该像您所描述的那样工作。 它使用 CSS 弹性框将页脚推到底部。

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html, body {
    height: 100%;
}

.container {
    display: flex;
    flex-direction: column;
    min-height: 100vh; 
}

header {
    background: #4CAF50;
    color: white;
    padding: 20px;
    text-align: center;
}

main {
    flex: 1;
    padding: 20px;
    background: #f4f4f4;
}

footer {
    background: #333;
    color: white;
    text-align: center;
    padding: 10px;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
    <div class="container">
        <header>
            <h1>Footer Test</h1>
        </header>
        <main>
            <p>main content....</p>
            <button onclick="document.getElementById('expand').style.display = 'inherit'">
            click
            </button>
            <div id='expand' style='display:none;'>
              <br><br><br><br><br><br>
              
              <b>extra content</b>
            </div>
        </main>
        <footer>
            <p>form content.....</p>
        </footer>
    </div>
</body>
</html>

© www.soinside.com 2019 - 2024. All rights reserved.