【发布时间】:2016-04-30 20:31:06
【问题描述】:
好的,这是我的基本网站结构:
<body>
<div id="wrapper">
<header><a href="/"> </a></header>
<nav>
<ul>
<li><a href="...">...</a></li>
<li><a href="...">...</a></li>
<li><a href="...">...</a></li>
</ul>
</nav>
<div id="content"></div>
<footer><a href="/"> </a></footer>
</div>
</body>
这是我的 CSS 基础知识:
html
{
font-size: 100%;
height: 100%;
line-height: 1.4;
overflow-y: scroll;
}
body
{
background: #EEE url("../images/background.png") repeat-y center center fixed;
color: #333;
height: 100%;
font: 1em 'Lato-Regular';
margin: 0;
padding: 0;
}
#wrapper
{
height: 100%;
margin: 0 auto;
width: 960px;
}
#content
{
min-height: 460px;
height: auto !important;
height: 460px;
margin: 20px 0;
}
这是我想要实现的(最好不使用 javascript hack):
- 页眉和页脚高度由其内容大小决定。
-
div#content的最小高度应为 X 像素,否则可以扩展至想要包含页面内容的程度。 -
div#wrapper应拉伸以填充整个视口高度,div#content是可拉伸以填充的灵活部分。 - 我正在尝试针对尽可能多的浏览器,但我并没有真正实现完全的跨浏览器兼容性。让旧的浏览器死掉吧。
我得到了一个奇怪的结果:
如您所见,包装器没有拉伸以填充浏览器视口,因此页脚(底部的黑色条)浮动在页面中间。 你能帮帮我吗?
【问题讨论】:
-
你能创建一个 jsfiddle 吗?使用您提供的代码,我无法重新创建它。
-
那是因为你没有任何内容...相信我,当你把它填满 300 行内容时,它会没事的。内容属性, min-height , height 和 height 是无用的兄弟... height 默认为 auto ,因为它填充了容器的内容。
-
您可以将
body的背景设置为与footer匹配,这样您就不会在页脚下看到较浅的背景。然后将较浅的背景移至您的#content。 -
你还没有发布页眉和页脚的css。