设为首页
收藏本站
最新电影
> 子栏目 Asp | Jsp | XML | XSL | Div+Css | 自定义函数 | 数据库 | 脚本特效
您现在的位置: 首页=>后台技术=>div+css 订阅本栏目  
IE7、FF DIV高度自适应的解决方案
时间: 2009-09-07 16:31:44 阅读次数:2996


先看这样一个例子:

<!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" c />
<title>DIV高度无法自适应</title>
<style type="text/css">
#all {
width:240px;
padding:10px;
font-size:12px;
color:#FFF;
background-color:#CCC;
}
#sub {
float:left;
width:230px;
line-height:20px;
padding:0 5px;
background-color:#F90;
}
</style>
</head>
<body>
<div id="all">
<div id="sub">
外层DIV高度无法自适应
</div>
</div>
</body>
</html>


1、问题:运行这段代码可以看到,在IE下一切正常,但在FireFox或IE7下,父对象All没有适应子对象Sub的高飞飞@Asp技术乐园
2、解决方法:
例中,XHTML代码:“<div id="all"><div id="sub">外层DIV高度无法自适应 </div></div>”,其CSS为:“#all {width:240px;...} #sub {float:left;...}”
由于子对象Sub设置了浮动(float:left),而父对象All没有设置浮动,所以才会出现这样的问题
(1)将父对象也设置浮动即把“float:left;”加到“#all {...}”中
(2)将子对象的浮动属性去掉即把“float:left;”从“#sub {...}”中删除
(3)在“<div id="sub">外层DIV高度无法自适应</div>”的后面加一个空的块级对象,并设置 “clear:both;”取消浮动如“<div style="clear:both"></div>” 飞飞As@p技术乐园但此方法在IE中仅限于有两个或两个以上的浮动子对象时才生效,只有一个浮动子对象,用此方法底下会多出10px的高度
由方法(2)又想到了一个新问题,如果类似论坛中,一个话题分左右两边的布局,而且左右分别都有固定的宽度时就必须要用到浮动属性如:

<div id="all">
<div class="sub"><div class="left">左边是用户头像</div><div class="right">右边是话题内容</div></div>
...
</div>

这种情况下方法(2)和方法(3)就不适用了因为方法(2)是将子对象的浮动属性去掉,而去掉浮动属性就不可能实现;方法(3)仅适用于有多个浮 动对象,但如果恰巧只有1条记录呢?除非下面不在乎那10px此时我向最适用的就是方法(1)了
解决方法小结:
1、父元素也浮动 (没有指定宽度的float应当伸缩包装到浮动内容的宽度)
2、clear属性
3、为父层设置 {overflow:auto; _height:1%;} 前者针对火狐IE7(overflow:auto 或hidden) 后者针对IE6(_height:1% 或he\ight:1%)
* html .clear{height:1%}
4、父元素设置高度宽度
5、针对 火狐

#d1:after
{
content:".";
height:0;
visibility:hidden;
display:block;
clear:both;
}

其他小技巧:
html也要设置100% ,对后面的div可能会有影响
html,body{
height:100%;
margin:0;
}

设置 div为绝对定位.
style="width:500px; height:100%!important; background:#003333; position:absolute;"
./#/需要自动高度的地方
{
min-height:500px;
height:auto;/*IE7*/
_height:500px;/*IE6*/
display:table;/*firefox,opera*/}
在FF下一个自适应高度的简单做法

加上
height: 100%;
overflow: auto;
自动换行的简单做法

table-layout: fixed;
WORD-BREAK: break-all;
WORD-WRAP: break-word;
怎样用CSS把层做成半透明?
用下面的样式表定义你的层
.alpha { filter: Alpha(Opacity=50, FinishOpacity=50, Style=0, StartX=0, StartY=0, FinishX=100, FinishY=100}
解释:
Opacity=开始的不透明度(100的话就不透明了)
FinishOpacity=结束的不透明度(100的话就不透明了)
Style=样式,从0开始,1.2.3....有均匀透明啊,放射形状透明啊...
StartX=开始透明的X坐标,基本上为图片、层的左上角(0)
StartY= 开始透明的Y坐标,基本上也为图片、层的左上角(0)
FinishX=结束透明的X坐标,基本上也图片、层的右下(图片、层的宽度)
FinishY=结束透明的Y坐标,基本上也为图片、层的右下角(图片、层的高度)



站内搜索    

下一篇ie6,ie7,ie8多版本共存解决方法IETester 0.4.1[支持中文]

上一篇多点调用的 选项卡

本栏目最新 栏目最新列表
微软IE调试工具:SuperPreview for IE(ie6
精选15个国外最流行的CSS框架
CSS2 Media类型使用方法及简介(@Media)
浏览器排版/布局 图片下方出现空隙的问题
使用IE浏览器a链接失效(不能点击)的解决方
网站优化策划 栏目最新列表
增加网站外链的快速方法
网站上线前必做的30个检查
新的友情链接参考标准(没有google的PR情况
优化Google的AdSense广告的五个工具
王通讲SEO八大基础
站点最新 站点最新列表
微博推广的一些技巧
xhEditor v1.1.7 发布,
收集的一些轻量级非常实
50个新鲜兼容最新版本的
javascript中cookie的设
Excel中出现#VALUE!、#D
jquery插件:飞飞表情插件
十个使用HTML5开发的精彩
支持HTML5的浏览器有哪些
飞妮莫属:漫画:如何写出
历史最热10条信息  
MIME介绍 及 [1] [2] [3]
巧用Google和迅雷来下载
Transact SQL 常 [1] [2]
VIA Rhine II Fast Ethe
电脑常用端 [1] [2] [3]
Do you get a kick out
十道羊皮卷 欣赏+mp3版+
每日一句:A friend and
每日一句:Theres no tu
经典__悟透JavaScript
 width= 
伟哥博客 西安房产 123最新电影 三四六四