FIREFOX层的自适应高度

在IE下很容易实现高度的自适应,但在FF下如果DIV层里包含的是层,而不是直接填充内容的话,是不会自动适应高度的,这在我们设置背景层时经常用到的,下面是一个例子:
<div id=”container”>
<div id=”main” /></div>
<div id=”sidebar” /></div>
</div>


container作为最外层,在IE下可以自适应,但在FF下就只有main层与sidebar层可以,苦思良久,也问了许多朋友,最后还是从网上搜到答案,很简单:

只需定义#container {
display:table}就可以了,原理是和以前的表格布局是一样的.

只是这个问题好像会出现float层出错…如果还有更好的解决
方法大家可以留言

今天又试出了一种解决方法。

<div id=”container”>
<div id=”main” /></div>
<div id=”sidebar” /></div>
</div>


在上面的这段代码中。我们再设定一下container的height:100%
main和sidebar的height:100%.

这样可以在firfox和IE下测试通过,比起display:table;的方法好些。display:table;会导致一些布局出错。

所以还是推荐大家用这个height:100%;

大概的原理是,当子级DIV高度变大的时候,由于父级的高度没有设定所以无法变高,所以我们设定了父级的

DIV高度为100%,但如果没有设定子级DIV的高度里,也是会出错。所以我们就同时指定了父级的DIV和子级DIV 同时为100%这样就可以解决了

posted @ 2008-07-16 20:28  zzh  阅读(335)  评论(0编辑  收藏  举报