我最近开始了一些网络编程/设计,我正面临这个问题。在 HTML5 中,你有这些很酷的标签,比如section
andheader
和footer
all 。
- 我的第一个问题在这里提出:它们的行为(在 CSS 上下文中)是否与 s完全一样
div
?
转到更具体的问题,我必须创建一个header -> content (section) -> footer
结构简单的网站(注意:我对 IE 兼容性不感兴趣)。我希望中心部分尽可能地(垂直)扩展,直到它遇到页脚。“直到它遇到页脚”部分可以通过一些来实现,padding-bottom
但是“尽可能地扩展”部分呢?请注意,在调整页面大小时,当页脚与部分相遇时,页脚应该停止。
我的意思是,我知道有些人div
的生活会更轻松,但是按照今天的标准,我是否仍然必须将整个页面包装在一个<div id="container">
标签中?于是出现了第二个问题……
html
我不能通过同时使用和body
作为 adiv#container
的容器来实现我将实现html
的目标html + body
吗?body
div#container
我希望我的问题很清楚,我知道我在写作时倾向于离题。
请注意,为清楚起见,我将在此处添加我的 HTML 结构和我的 CSS 中的一些亮点,但我不知道它们是否与问题相关。
HTML:
<html>
<head...>
<body>
<header id="page_header">
stuff in the header...
</header>
<section id="page_content">
stuff in the main section...
</section>
<footer id="page_footer">
an almost-sticky footer...
</footer>
</body>
</html>
CSS:
* {
margin: 0;
}
html {
background-image: url('../res/img/bg-light.png');
height: 100%;
position: relative;
}
body {
width: 900px;
height: 100%;
margin: 0 auto 20px auto;
padding: 0;
}
section#page_content {
min-height: 400px; // ? does this stop the footer from being dragged over the content when resizing?
width: 80%;
margin: 0 auto;
}
footer#page_footer {
position: absolute;
height: 20px;
width: 100%;
left: 0;
bottom: 0;
}
微注为什么我的body
不是从页面的确切顶部开始,而从顶部开始几个像素?只是问问。