我正在尝试创建一个非常简单的网页。它应该是一个1000px宽的绿色,居中的矩形,在红色背景上从网页的顶部到底部一直延伸,无论有多少内容。
我不能让这个工作。如果我使用min-height
(如下所示),如果内容不足,绿色区域不会一直延伸到页面底部。如果我用height
替换它,如果内容很多,则内容会溢出绿色区域。
这是我的HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="stylesheet.css" />
</head>
<body>
<div id="container">
content here.
</div>
</body>
</html>
这是CSS:
html {
height: 100%;
}
body {
background-color: #F00;
margin: 0;
min-height: 100%;
}
#container {
background-color: #0F0;
width: 1000px;
margin: 0 auto;
height: 100%;
}
我知道这对于更多div
来说是可行的,但它确实可以在不更改HTML的情况下工作。我该如何解决这个问题?
顺便说一句,我在Safari上。我不关心与不遵守标准的浏览器的兼容性。
答案 0 :(得分:2)
以下是一份工作样本:
<!doctype html>
<html>
<head>
<title>Container sample</title>
<style>
html, body
{
margin: 0;
padding: 0;
height: 100%;
background: red;
}
#container
{
background: green;
width: 1000px;
min-height: 100%;
margin: 0 auto 0 auto;
}
</style>
</head>
<body>
<div id="container">
Container sample
</div>
</body>
</html>
答案 1 :(得分:1)
您可以根据您的要求使用属性position absolute
。它可能会帮助你
#container {
background-color: #0F0;
width: 1000px;
margin: 0 auto;
position:absolute;
top:0;
bottom:0;
left:50%;
margin-left:-500px;
}
答案 2 :(得分:0)
将#container
position:absolute;
top
设置为bottom
并将0
设置为#container {
background-color: #0F0;
width: 1000px;
margin: 0 auto;
position:absolute;
top:0;
bottom:0;
}
。
{{1}}