欢迎来到天地奔腾博客交流
系统换了VISTA,装了IE7.0,但是发现在IE6中显示正常的文字基本都出现了重叠.检查出问题,IE7不支持DIV的高度自动延伸,所以一旦文字过多,超过DIV定义的高度,就会出现DIV的重叠,看上去是文字的堆叠.
找了很多地方,找不到原因,只有按实际高度去定义相应的DIV的高度,但是这个方法太不方便,动态的数据文本信息过多,一样出现类似问题,郁闷
终于花了工夫,找到了原因:在ie6中div的高度可以自动增加,但是ie7中却不可以
满网上去找解决办法,看到了具体的办法,使用 expression 实现动态属性设置:
height: expression(this.style.height>=this.scrollHeight?'176px':this.scrollHeight+'px');
以上代码解释是超过了176px就自动延伸,否则定义为176px.
补充:
这个代码用了很久,直到.....才注意到一个大问题:
使用上面的代码,是解决了超过高度了自动延伸的问题.但是如果实际高度没有定义的那么高,DIV的高度还是实际的高度,也就是说,上面定义的176px是根本没起作用的.
仔细分析expression,发现个问题,this.style.height根本就没定义,怎么去做比较呢??原因终于找到了.呵呵
修改以上代码:
height:expression(this.scrollHeight<=100?'100px':this.scrollHeight+'px')
这样判断实际的高度如果小于100的话,就固定为100PX,否则的话就按实际的高度.
这才是我要的结果.呵呵
找了很多地方,找不到原因,只有按实际高度去定义相应的DIV的高度,但是这个方法太不方便,动态的数据文本信息过多,一样出现类似问题,郁闷
终于花了工夫,找到了原因:在ie6中div的高度可以自动增加,但是ie7中却不可以
满网上去找解决办法,看到了具体的办法,使用 expression 实现动态属性设置:
height: expression(this.style.height>=this.scrollHeight?'176px':this.scrollHeight+'px');
以上代码解释是超过了176px就自动延伸,否则定义为176px.
补充:
这个代码用了很久,直到.....才注意到一个大问题:
使用上面的代码,是解决了超过高度了自动延伸的问题.但是如果实际高度没有定义的那么高,DIV的高度还是实际的高度,也就是说,上面定义的176px是根本没起作用的.
仔细分析expression,发现个问题,this.style.height根本就没定义,怎么去做比较呢??原因终于找到了.呵呵
修改以上代码:
height:expression(this.scrollHeight<=100?'100px':this.scrollHeight+'px')
这样判断实际的高度如果小于100的话,就固定为100PX,否则的话就按实际的高度.
这才是我要的结果.呵呵
Trackback URL for this entry
GB2312http://www.whssni.com/blog/trackback.php?id=59&encode=gb2312
UTF-8 http://www.whssni.com/blog/trackback.php?id=59&encode=utf-8



