📅  最后修改于: 2023-12-03 15:00:08.190000             🧑  作者: Mango
在某些情况下,我们希望网页的底部内容始终固定在页面底部,无论页面内容的高度如何变化。这可以通过 CSS 来实现。
通过将底部元素的 position
属性设置为 fixed
,并将 bottom
属性设置为 0
来实现固定底部的效果。
/* 底部元素样式 */
#footer {
position: fixed;
bottom: 0;
width: 100%;
}
具体实现效果见下方展示代码。
通过使用 flex 布局,可以将主体内容元素的高度设置自适应,并将底部内容元素“粘”在底部。
/* 父元素设置为 flex 布局 */
body {
display: flex;
flex-direction: column;
min-height: 100vh;
}
/* 主体内容元素 */
#main {
flex: 1;
}
/* 底部元素 */
#footer {
flex-shrink: 0;
width: 100%;
}
详细演示下述两种方法的效果。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>Document</title>
<style>
/* 方法一 */
#footer-1 {
position: fixed;
bottom: 0;
width: 100%;
background-color: #333;
color: #fff;
padding: 10px;
text-align: center;
}
/* 方法二 */
body {
display: flex;
flex-direction: column;
min-height: 100vh;
}
#main {
flex: 1;
}
#footer-2 {
flex-shrink: 0;
width: 100%;
background-color: #333;
color: #fff;
padding: 10px;
text-align: center;
}
</style>
</head>
<body>
<!-- 方法一 -->
<div id="footer-1">底部内容(方法一)</div>
<!-- 方法二 -->
<div id="main">
<p>网页主体内容</p>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Similique
totam nostrum numquam eapat autem, doloremque suscipit. Ex, nisi qui
earum cupiditate illo accusantium vero iusto dolor, a quo consectetur
quibusdam!
</p>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Similique
totam nostrum numquam epellat autem, doloremque suscipit. Ex, nisi qui
earum cupiditate illo accusantium vero iusto dolor, a quo consectetur
quibusdam!
</p>
</div>
<div id="footer-2">底部内容(方法二)</div>
</body>
</html>