小一博客

关注IT互联网,博客营销,山寨文化,软件游戏,手机,Google,Linux

如何解决Firefox下DIV无法自动纵向拉伸

作者:小一   分类:独立博客   时间:2009-11-19 16:14:13   评论:2   人气:

大家在做Z-Blog模板时,或者是设计其它网页时,特别是DIV+CSS设计的网页,可能会遇到这样的问题:内层DIV有足够的高度,在IE6和IE7下,外层的DIV高度也能自动纵向拉伸,但是在Firefox下就出问题了,外层的DIV高度不会随着内层高度的变化而变化!怎么办呢?

其实,在Firefox下,如果内层的DIV都是“漂浮”的,也就是说都有类似float:left margin:0 auto;的属性,那么外层的DIV高度就不会自动拉高,原来是多高,还是多高!

解决办法就是清除漂浮属性,但是有时候呢,还不想清除漂浮属性,怎么办呢?光说,可能也说不太明白,看个例子吧:

<style type="text/css">
.out {
    width:500px;
    height:100px;
    background:#000000;
}
.in {
    width:200px;
    height:200px;
    float:left;
    background:#eecc33;
}
</style>

<div class="out">
<div class="in"></div>
</div>

 把上面的代码存成.html格式,再分别用IE和Firefox打开,就能看出区别了:在Firefox下,虽然内层的IDV高度为200px,但是外层的DIV的高度还是100px,没有变化,也就是说不能自动拉高!而在IE下就不会有这种问题,外层的DIV自动拉高为200px。

现在,再在<div class="in"></div>下面加一行:<div style="clear:both;"></div>,再分别在IE和Firefox下看看效果如何呢?是不是在Firefox下也可以自动纵向拉伸了呢?

其实,解决这个问题的的方法就是清除漂浮,具体代码的使用比较灵活,未必就一定使用小一说的这种形式,具体问题具体分析嘛,呵呵!

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

渝ICP备06007150号 SYSTEM:Z-BLOG 
技术支持:小一