1

我正在设计一个带有联系表格的网页,您可以在此处看到。

如您所见,页面设计为可变宽度。我希望图像、表单和内容区域的边缘之间的间距相等,即有四个宽度相等的空间。

目前我已经设计了它,使图像以 20% 宽度的 DIV 为中心,联系表格以 60% 宽度的 DIV 为中心。这工作正常,但不是很好,因为随着浏览器宽度的增加,联系表单和图像之间的间距大于图像和内容区域边缘之间的间距。我想找到一种保持所有空间等宽的方法。

这是相关的CSS:

#box {
    width: 100%;
    min-width: 800px;
}

#left {
    float: left;
    width: 20%;

}

#center {
    float: left;
    height: 100%;
    width: 60%;
}

#right {
    height: 100%;
    margin-left: 80%;
}

.dharma {
    width: 185px;
    margin: 0px auto 0;
    padding-top: 25px;
}

#contact-form {
    width: 471px;
    margin: 25px auto;
}

这是相关的HTML:

<div id="box">

<div id="left">
<div class="dharma"><img src="images/dharma.jpg"></div> 
</div>

<div id="center">
<div id="contact-form">
[form HTML]
</div>
</div>

<div id="right">
<div class="dharma"><img src="images/dharma.jpg"></div>
</div>

</div>  

有人可以帮忙吗?

谢谢,

缺口

4

2 回答 2

2

您描述的问题非常适合在 Chrome、Safari 和 Firefox 中运行的 CSS3 灵活框布局。所有你需要的是:

#box {
    display: -moz-box;
    display: -webkit-box;
    display: box;
}

#left, #center, #right {
    -moz-box-flex: 1.0;
    -webkit-box-flex: 1.0;
    box-flex: 1.0;
}

不幸的是,这在 IE 中不起作用,但我希望这仍然有帮助。

于 2011-07-11T23:48:32.847 回答
1

简单地设置一个规则让所有的盒子都有一个额外的边距是行不通的吗?

像这样的东西:

#box {
    width: 100%;
    min-width: 800px;
}

#left, #center, #right { /* adds spacing between columns of equal size */
    margin: 0 2%;
}

#left {
    float: left;
    width: 16%;  /* reduced by 4% for margins */

}

#center {
    float: left;
    height: 100%;
    width: 56%; */ reduced by 4% for margins */
}

#right {
    height: 100%;
    margin-left: 80%;
}
于 2011-07-11T23:01:32.400 回答