Explorer6 下的 max-height 属性
作者:手气不错 发布时间:August 30, 2008 分类:CSS
今天有用户报告,说打开我们的页面会导致浏览器崩溃。查了下,原来是这句 CSS 导致了性能的问题
_height: expression(this.scrollHeight > 200 ? 200 + 'px' : 'auto');
看来还是 Exploer 的 CSS expression 作祟。简单的说明下这个语句,主要是实现 Exploer6 不支持的 max-height 属性而做的个 Hack(是个“历史遗留问题”)。
期前对于 CSS expression 也做过类似的测试,使用程度为--慎用--禁用(原因有三,仅 Exploer 支持、性能消耗很大、脚本和表现混杂)。
这一 Hack 姑且可以被认定为,是在 Exploer6 走向末路之前的“救命稻草”(但目前在日常的项目中,如果出现这样的代码,是无论如何都不会被允许的)。
最后,简单的写了个 DEMO,以及更多的信息可以查看这里。
注: Exploer7 已经支持 max-height 等属性。





已有 7 条回复
so fast ..
有一个让我们 BS IE6 的理由.
_height: expression(this.scrollHeight > 201 ? 200 + 'px' : 'auto');
搞成这样就行了,不会挂了
是不是..用CSS expression,每次鼠标移动页面滚动之类的都会重新触发...
最近开始学习CSS,得到一个奇怪的东西google半天都找不到答案,想起经常在这里看到你有发表CSS文章,所以就跑来这里问问题了,希望能在这里得到答案 :)
代码如下,body中的width当设置为95%或者980px以上时就不能居中,不知道是何道理?或者是我显示器问题?
<!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" content="text/html; charset=utf-8" />
<title>首页</title>
<style type="text/css">
<!--
body{
margin:20px auto;
padding:0;
width:95%;
}
#header {
background: url(images/header_bg.jpg) no-repeat;
height:272px;
}
#header2 {
height:145px;
background: url(images/header_bg1.jpg) no-repeat;
}
#title {
height:60px;
background: url(images/title.png) no-repeat;
}
#content {
height:50px;
background: url(images/contentmain_bg.jpg) no-repeat;
}
-->
</style>
</head>
<body >
<div id="header"></div>
<div id="header2"></div>
<div id="title"></div>
<div id="content"></div>
</body>
</html>
希望的是背景图片居中
@SimonCHEN 此类问题发邮件给我吧(突然忘记我没有限制留言长度),囧