博客园  :: 首页  :: 联系 :: 管理

Div + CSS高度自适应解决方法

Posted on 2008-09-25 14:19  sunrack  阅读(1965)  评论(0编辑  收藏  举报

这几天用div+css写网站,样子 上中下,中间是个左中右3列,可这3列不是等高偏巧有不同颜色的背景,结果就是ie、firefox...这些浏览器无一例外的现实的效果都是长短不齐,如何让这3列可以自适应高度?

调试了半天,搜索了一番,终于找到解决办法了,采用 Div + CSS 进行三列或二列布局时,事先不知道具体高度,只能根据内容的增减自适应高度,要使两列(或三列)的高度相同,用 Table 很容易实现,但采用 Div + CSS 就显得比较麻烦了。按照一般的做法,大都采用背景图填充或 JS 脚本的方法使高度相同,但这些都不是最好的办法,我认为…

下面介绍采用“隐藏容器溢出”和“正内补丁”和“负外补丁”结合的方法

主要代码:

 

 

#wrap{overflow:hidden;} /*外容器*/   
#sidebar_left,#sidebar_right{padding
-bottom:100000px;margin-bottom:-100000px;} /**/

 

完整例子代码

 

 

<style type="text/css">   
<!--   
#wrap{overflow:hidden;}   
#sidebar_left,#sidebar_right{padding
-bottom:100000px;margin-bottom:-100000px;}   
-->   
</style></head>   

<body>   
<div id="wrap" style="width:300px; background:#FFFF00;">   
<div id="sidebar_left" style="float:left;width:100px; background:#FF0000;">Left</div>   
<div id="sidebar_mid" style="float:left;width:100px; background:#666;">   
Middle
<br />   
Middle
<br />   
Middle
<br />   
Middle
<br />   
Middle
<br />   
Middle
<br />   
Middle
<br />   
Middle
<br />   
Middle
<br />   

</div>   
<div id="sidebar_right" style="float:right;width:100px; background:#0000FF;">Right</div>   
</div>