不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2012-04-30 23:12  分类:HTML/CSS/JS  编辑

罪恶的IE6不支持max-height属性,不过我们可以通过jQuery来解决IE6不支持max-height,jQuery的代码如下:

$(".entry").each(function(){
	if($(this)[0].scrollHeight>500)
	$(this).css({"height":"500px"});
});

原理: 在IE6中可以通过设定height来达到max-height的效果. 循环所有要加max-height属性的DOM元素,判断他的scrollHeight大于你要设置的最大高度 如果超过了就通过设置height为最大高度,我这里使用的是[0],获取的是的DOM对象,而不是jQuery对象,详细说明见:《jQuery选择器使用详解

上面的代码还没有加入IE6的判断,完整代码如下:

if($.browser.msie&&($.browser.version === "6.0")){
	$(".entry").each(function(){
		if($(this)[0].scrollHeight>500)
		$(this).css({"height":"500px","overflow":"hidden"});
	});
}

当然你也可以通过css表达式来实现IE6支持max-height属性

.entry{
	height: expression( this.scrollHeight > 500 ? "500px" : "auto" ); /* sets max-height for IE */
}