【发布时间】:2012-03-21 17:33:08
【问题描述】:
我想将 HTML 中的 div 元素垂直对齐到视口的底部,同时也将同一个 div 水平对齐到文档/页面或其元素。
例如,假设我有一个这样的 div:
<html>
<head>
<style type="text/css">
* {
margin: 0;
}
#wrapper {
margin: 0 auto;
width: 1000px;
min-height: 2000px;
background: #FF0000;
}
</style>
</head>
<body>
<div id="wrapper">wrapper</div>
</body>
</html>
我想创建一个新的 div,它贴在视口底部,但与显示的 div 对齐。为简洁起见,假设我要对齐的 div 与所示的宽度相同,并且我想将它与所示的 div 左对齐。
我的幼稚尝试如下:
<html>
<head>
<style type="text/css">
* {
margin: 0;
}
#wrapper {
margin: 0 auto;
width: 1000px;
min-height: 2000px;
background: #FF0000;
}
#footer {
position: fixed;
bottom: 0;
left: 50%;
width: 1000px;
height: 100px;
margin-left: -500px;
background: #00FF00;
}
</style>
</head>
<body>
<div id="wrapper">wrapper</div>
<div id="footer">footer</div>
</body>
</html>
只要视口宽度大于 1000 像素,此解决方案就可以工作。一旦窗口小于 1000px,解决方案就会中断;页脚不再与页面的其余部分水平滚动。另请注意,如果文档比视口“高”,页脚 div 应保持固定在视口底部。
【问题讨论】: