标签:
DIV高度自适应,这是在网页设计中常遇到的问题,为了给大家提供参考,这里提供3种div高度自适应的方法:一是JS法、二是背景图填充法、三是“补丁大法”(比较变态)。
1、JS法
代码如下。原理:用JS判断左右DIV的高度,若不一致则设为一致。
01 |
< div style = "width:500px;background:#cccccc;height:0px;" > |
02 |
< div id = "right" style = "width:380%;height:100%;float:left;border:1px solid #265492;" >left</ div > |
03 |
< div id = "left" style = "width:60%;;float:left;background:#376037;" > |
04 |
right< br > |
05 |
right< br > |
06 |
right< br > |
07 |
right< br > |
08 |
right< br > |
09 |
right< br > |
10 |
right< br > |
11 |
</ div > |
12 |
</ div > |
13 |
< script type = "text/javascript" > |
14 |
<!-- |
15 |
var a=document.getElementById("left"); |
16 |
var b=document.getElementById("right"); |
17 |
if(a.clientHeight<b.clientHeight){ |
18 |
a.style.height=b.clientHeight+"px"; |
19 |
}else{ |
20 |
b.style.height=a.clientHeight+"px"; |
21 |
} |
22 |
--> |
23 |
</ script > |
2、背景图填充法
这是大站用得比较多的方法,如163等,研究了一下,结果如下。
这里是给父DIV设置了背景图片填充,所有DIV都不设高度。
HTML代码:
1 |
< div class = "endArea" > |
2 |
< div class = "col1" >第一列 左边正文</ div > |
3 |
< div class = "col3" >第二列 右边< br />< br />< br />< br />< br />< br />< br />< br />< br />< br />< br />字字</ div > |
4 |
< div class = "col2" >第三列 中间图片</ div > |
5 |
< div class = "clear" ></ div > |
6 |
</ div > |
CSS代码:
1 |
.endArea{ margin : 0 auto ; width : 960px ; background : url (http://cimg 2.163 .com/cnews/img 07 /end_n_bg 1 .gif); clear : both ;} |
2 |
.endArea .col 1 { float : left ; width : 573px ; } |
3 |
.endArea .col 2 { float : left ; width : 25px ; } |
4 |
.endArea .col 3 { float : right ; width : 362px ;} |
3、补丁大法
就是“隐藏容器溢出”和“正内补丁”和“负外补丁”结合的方法。比较另类的方法,在IE6、IE7、FF3下测试通过。要点:
1、父DIV设置 overflow:hidden;
2、对要高度自适应的DIV设置 padding-bottom:100000px;margin-bottom:-100000px; 两列或多列同理。
代码如下:
01 |
< html > |
02 |
< head > |
03 |
< meta http-equiv = "Content-Type" content = "text/html; charset=gb2312" /> |
04 |
< title >Div高度自适应</ title > |
05 |
< style type = "text/css" > |
06 |
#wrap{overflow:hidden;} |
07 |
#sidebar_left,#sidebar_right{padding-bottom:100000px;margin-bottom:-100000px;} |
08 |
</ style > |
09 |
</ head > |
10 |
< body > |
11 |
< div id = "wrap" style = "width:300px; background:#FFFF00;" > |
12 |
< div id = "sidebar_left" style = "float:left;width:100px; background:#777;" >居左</ div > |
13 |
< div id = "sidebar_mid" style = "float:left;width:100px; background:#999;" > |
14 |
居中< br /> |
15 |
居中< br /> |
16 |
居中< br /> |
17 |
居中< br /> |
18 |
居中< br /> |
19 |
居中< br /> |
20 |
居中< br /> |
21 |
</ div >< div id = "sidebar_right" style = "float:right;width:100px; background:#888;" >居右</ div ></ div > |
22 |
</ body > |
23 |
</ html > |
以上三种方法都可以解决Div高度自适应,请根据你自己的需要,三选一。
标签:
原文地址:http://www.cnblogs.com/lizonghai/p/4639774.html