【发布时间】:2011-02-12 12:12:24
【问题描述】:
我有 2 个 div 包含在第三个中。一个包含的 div 向左浮动,另一个向右浮动。我希望 2 个兄弟 div 始终处于相同的高度,但我遇到了这个问题。到目前为止,我只在 Firefox 中查看该页面,并且认为在我让它在至少一个浏览器中运行之后,我会担心任何跨浏览器问题。
这里是标记:
<div id="main-container" class="border clearfix">
<div id="left-div" class="border">
...
</div>
<div id="right-div" class="border">
...
</div>
</div>
这是 CSS:
#main-container { position: relative; min-height: 500px; }
#left-div { position: relative; float: left; width: 700px; min-height: inherit; }
#right-div { position: relative; float: right; width: 248px; min-height: inherit; height: inherit; }
.clearfix:after { content: " "; display: block; height: 0; clear: both; visibility: hidden; }
.clearfix { display: inline-block; _height: 1%; clear: both; }
.clearfix { display: block; clear: both; }
.border { border: solid 1px #000; }
如果#left-div 中的内容长于500px,则#right-div 不会扩展以匹配。在我尝试的一个示例中,Firefox 说#main-container 的计算样式高度为804px,#left-div 的计算样式高度为800px,#right-div 的计算样式高度为586.2px ,因为它已经扩展以适应它自己的内容。
我知道我可能会以错误的方式解决这个问题,如果这是一个重复的问题,那么我很抱歉,但我不太确定要搜索什么。
【问题讨论】:
-
有人说
<table>吗? -
纯CSS,没有。但是你可以使用
tables,按照 Pekka 的建议,或者,如果你不介意使用它,可以使用 Javascript。 -
另外,您可能想仔细阅读早期的主题,例如:stackoverflow.com/questions/1056212/…
-
@Paul 我也不太喜欢它,但是如果您查看其他选项,您会发现它是最简单的。在这种情况下,用于布局的表格是完全可以接受的。
-
@ricebowl 这是我听过有人称问题重复的最好方式。 :)