需要帮助来拉伸div元素

时间:2013-08-15 20:54:33

标签: html css

我已经制作了一个网站的草图,其中页眉和页脚延伸到无限,但导航框和内容框(中间部分)被粘在相同的大小上。因此,如果我开始拉伸我的浏览器,它开始看起来很糟糕。

问题:我怎样才能让中间部分相应地伸展?

<div id="main">
<div id="header">
    <h1><b>Website Header</b></h1>
    </div>
<div id="nav">
    <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">Forums</a></li>
        <li><a href="#">Members</a></li>
        <li><a href="#">Contact Us</a></li>
    </ul>
    </div>
<div id="submain">
    <div id="chat">
        <h3>CHAT BOX</h3>
        </div>
    <div id="content">
        <h1>Content goes here</h1>
        </div>
    <div id="subright">
        <div id="members">
            <h4>Member Area</h4>
            </div>
        <div id="recent">
            <h4>Recent Activity</h4>
            </div>
        </div>
    </div>
<div id="footer">
    <b>Some footer, 2013</b>
    </div>
</div>

我的 css 文件:

html {
    height: 100%;
    width: 100%;
}
body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 15px;
    background: #66FF66;
}
img {
    border: none;
}
a {
    color: #8D0D19;
}
a:hover {
    color: #1A446C;
}
#header {
    height: 150px;
    margin: 10px;
    padding: 5px;
    text-align: left;
    background: #1A446C;
    color: #D4E6F4;
}
#header h1 {
    padding: 1em;
    margin: 0;
}
#nav {
    text-align:center;
    /*word-spacing:240px;*/
    float: center;
    height: 100%;
    min-width: 1200px;
    margin: 0 auto;
    padding: 1px 0em;
    color: #D4E6F4;
    background: none;
}
#nav a {
    color: #D4E6F4;
    text-decoration: none;
}
#nav li a:hover {
    background: #383;
}
#nav ul li {
    list-style-type: none;
    display: inline;
}
#nav li a {
    display: block;
    float: left;
    padding: 5px 98px;
    color: #fff;
    text-decoration: none;
    border-right: 1px solid #fff;
}
#submain {
    height: 600px;
    width:1080px;
    margin: 30px;
    padding: 0px 0em;
    background: #3366FF;
}
#chat {
    float: left;
    text-align:center;
    width: 150px;
    height: 100%;
    margin: 0px;
    padding: 0px 2em;
    color: #D4E6F4;
    background: #8D0D19;
}
#content {
    float: left;
    width: 600px;
    height: 100%;
    margin: 0;
    padding: 0 1em;
    color: #D4E6F4;
    background: #330033;
}
#subright {
    height: 600px;
    margin: 0px;
    padding: 0px 0em;
    background: #3366FF;
}
#members {
    float: right;
    width: 200px;
    height: 20%;
    margin: 0;
    padding: 0 2em;
    color: #D4E6F4;
    background: #8D0D19;
}
#recent {
    float: right;
    width: 200px;
    height: 80%;
    margin: 0;
    padding: 0 2em;
    color: #D4E6F4;
    background: #336600;
}
#footer {
    clear: both;
    height: 2em;
    margin: 10px;
    padding: 1em;
    text-align: center;
    background: #1A446C;
    color: #D4E6F4;
}

2 个答案:

答案 0 :(得分:0)

如果指定min-widthwidth(正如您分别为#nav和#submain所做的那样),那将限制应用它们的元素的宽度。删除它们,以便它们不受约束。当然,您必须在这些框中布置其他元素,以便它们顺利流动。

答案 1 :(得分:0)

一切都没有拉伸的原因是因为你没有将任何样式应用到最上面的父容器,在你的情况<div id="main"></div>中。

你需要向#main div添加100%的宽度,向左浮动并设置隐藏的溢出,以便高度伸展以适应内部的内容。

html, body {
    height: 100%;
    width: 100%;
}
body {
    margin: 0;
    padding: 0;
    border: 0;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 15px;
    background: #66FF66;
}
img {
    border: none;
}
a {
    color: #8D0D19;
}
a:hover {
    color: #1A446C;
}
#main {
    width:100%;
    overflow:hidden;
    float:left;
    background:red;
}
#header {
    height: 150px;
    margin: 10px;
    padding: 5px;
    text-align: left;
    background: #1A446C;
    color: #D4E6F4;
}
#header h1 {
    padding: 1em;
    margin: 0;
}
#nav {
    text-align:center;
    /*word-spacing:240px;*/
    float: center;
    height: 100%;
    min-width: 1200px;
    margin: 0 auto;
    padding: 1px 0em;
    color: #D4E6F4;
    background: none;
}
#nav a {
    color: #D4E6F4;
    text-decoration: none;
}
#nav li a:hover {
    background: #383;
}
#nav ul li {
    list-style-type: none;
    display: inline;
}

<强> jsFiddle