700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > html div自动高度 CSS技巧:3种常用方法解决div列高度自适应

html div自动高度 CSS技巧:3种常用方法解决div列高度自适应

时间:2024-04-05 12:11:37

相关推荐

html div自动高度 CSS技巧:3种常用方法解决div列高度自适应

本文向大家介绍一下解决div列高度自适的3种常用方法,分别是利用“clear:both”背景填充,使用脚本控制高度和margin负值父子容器高度继承三种。

CSS技巧:解决div列高度自适的3种常用方法

解决div列高度自适的方法有很多种,这里介绍三种最常用的方法给大家(下面所有例子以父main,子divleft、divright为例)。

1、利用“clear:both”背景填充(推荐!!!)

这是使用最广泛的一种做法,我一直都用此方法解决div列高度自适问题。三行二列布局,主要内容在右边,网页宽度780px,左列240px,右列540px。

CSS代码:

#main{

width:780px;

margin:0;

background:url(bg.gif)#FFFFFFrepeat-yleft;

text-align:left;

}

#divleft{

float:left;

width:240px;

}

#divright{

float:right;

width:540px;

}

.clear{

border-top:1pxsolidtransparent!important;

margin-top:-1px!important;

border-top:0;

margin-top:0;

clear:both;

visibility:hidden;

}

html代码:

div>

div>

div>

div>

优点:无hacks,完全的自适应高度。

2、脚本控制高度 ..

在中加入如下代码(假设divright的高度相对***):

document.getElementById"divleft").style.height

=document.getElementById"divright").scrollHeight"px"

script>

优点:代码超级简单

缺点:要确定有某一列的高度始终是相对***的,此方法比较被动。

3、margin负值父子容器高度继承

这个方法能较好地解决列高度相同的问题。三行二列布局,主要内容在左边,网页宽度780px,左列540px,右列240px。

CSS代码:

#main{

width:540px;

float:left;

background:#FFFFFF;

text-align:left;

}

#divleft{

width:540px;

float:left;

position:relative;

margin-left:-540px;

}

#divright{

width:240px;

float:right;

position:relative;

margin:0-240px00;

background:#F0F0F0;

}

html代码:

div>

div>!

div>

或许刚接触的Web Standards的朋友对这种方法不怎么理解,现Blank分析一下:

[A]

[B][C]

上结构中a包含c,c包含b。当b的高度为***时,那么a和c将继承b的高度,如果a和b位置重合,将显示b的背景;而当c的高度***时,那么a继承将继承c的高度,如果a和b位置重合,将显示a的背景。这样无论b***或者c***都将显示div列高度相同。

优点:兼有***种方法的优点,并且比***种方法的代码稍微简洁。

缺点:整体结构只能左对齐。

【编辑推荐】

【责任编辑:程华权 TEL:(010)68476606】

点赞 0

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。