我创建了一个网站 www.unionfamilies.com。
我有一个页眉、一个由两列组成的主要部分和一个页脚。目前,我已经为页眉、主目录、页脚等指定了高度。我想让网站使页眉保持在顶部,列调整以匹配最长列的高度,而页脚保持在底部。有人可以帮我弄这个吗?我是 CSS 新手,所以请耐心等待。
谢谢你。
更正了一些 div 的属性。
#container {
background-color: #FFFFFF;
background-repeat: repeat-x;
margin-left: auto;
margin-right: auto;
position: relative;
width: 770px;
z-index: 1;
}
#header {
background-color: #3A50B6;
background-position: right center;
background-repeat: no-repeat;
height: 109px;
left: 0;
position: relative;
top: 0;
width: 770px;
z-index: 1;
}
#menu {
background-color: #3A50B6;
background-repeat: repeat-x;
font-family: Georgia,"Times New Roman",Times,serif;
height: 40px;
left: 0;
margin: 0;
padding: 0 0 0 10px;
position: relative;
z-index: 2;
}
#sidebar {
background-color: #FFFFFF;
border-width: 0;
float: right;
left: 0;
top: 150px;
width: 225px;
z-index: 3;
}
#main {
background-color: #FFFFFF;
float: right;
left: 226px;
padding-left: 20px;
padding-right: 20px;
top: 150px;
width: 503px;
z-index: 4;
}
#footer {
background-color: #3A50B6;
clear: both;
color: #FFFFFF;
font-family: Georgia,"Times New Roman",Times,serif;
font-size: 14px;
height: 50px;
left: 0;
line-height: 3.5em;
text-align: center;
vertical-align: middle;
width: 770px;
z-index: 1;
}
您可能需要在#menu 之后创建一个div #wrapper,以同时包含#sidebar 和#main。
但首先,您绝对需要删除 div 中的所有“位置:绝对”(#header、#menu、#main、#footer、#sidebar 等)。
然后你应该在你的 HTML 中添加一个 div #wrapper,它将被放置在你的 #menu 之后,并且将包含你的 #main 和你的 #sidebar,例如:
<div id="header"></div>
<div id="wrapper">
<div id="main"></div>
<div id="sidebar"></div>
</div>
然后你应该尝试应用这个设置:
#container {
width: 770px;
margin: 0 auto;
}
#wrapper {
width: 770px;
height: auto;
padding: 20px;
background-color: white;
}
#main{
width: 503px;
float: right;
}
#sidebar{
width: 225px;
float:left;}
不幸的是,我还没有找到一种方法来成功地使每一列的高度与其在 CSS 中最高的相邻列的高度相同。有 JS 脚本会为您执行此操作(获取高度,然后写入 CSS 内联以设置所有列的高度)。至于其余的,只需制作几个不同的块级元素。你可以在这里看到一点。