§ ITPOW >> 文档 >> CSS

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

作者: 来源:Wayhome's Blog 日期:2009-7-18

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

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

主要代码

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

完整例子代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Div + CSS Example, Wayhome's Blog</title>
<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>
 
</body>
 
</html>

(以上代码在 IE6、IE8、Firefox、Chrome 中测试,结果表明效果一致。ITPOW编辑注)

演示


[Ctrl+A 全部选择 提示:您可先修改部分代码,再按运行]
相关文章