+ -
当前位置:首页 → 问答吧 → 一段能够使IE6崩溃的CSS

一段能够使IE6崩溃的CSS

时间:2011-04-13

来源:互联网

HTML code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<style>
        html, body
        {
            height: 100%;
            overflow: auto;
            margin: 0px;
        }
        div#div2
        {
            position: absolute;
            left: 10px;
            top: 40px;
            width: 600px;
            height: expression(document.documentElement.clientHeight - 22);
            background: red;
        }
        body > div > div#div2
        {
            height: auto;
            bottom: 10px;
        }
        div#div1
        {
            position: absolute;
            top: 10px;
            left: 10px;
            width: 600px;
            background: green;
        }
        div#div3
        {
            position: absolute;
            left: 615px;
            top: 40px;
            width: 150px;
            height: expression(document.documentElement.clientHeight - 45);
            background: blue;
        }
        body > div > div#div3
        {
            height: auto;
            bottom: 10px;
        }
    </style>
</head>

<body>
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
</body>
</html>


这段代码的原意是在页面上生成三个固定位置和大小的DIV,在IE7或以上版本应该不会有问题,但在IE6里,只要一打开页面IE6整个就会死掉。
经过反复测试,原来问题出在那段CSS表达式里。表达式本身没有问题,有问题的是后面减掉的那个数,只要是这个数字在23到39之间就有问题。
不知有哪位达人可以解释这种情况,非常感谢。

作者: effun   发布时间: 2011-04-13

有些时候有些东西可以追溯;但有些时候就讲不太清楚。
一个著名的一行让IE6崩溃代码:<style>*{position:relative}</style><table><input></table>原理是什么呢?


我觉得这些都应该归于产品与配套产不匹配(IE6对样式的支持不是很成熟)之类的原因

作者: toury   发布时间: 2011-04-13

这个问题,很难解释的,


只有调整代码让其适应吧!

作者: fengqipiaobo   发布时间: 2011-04-13

IE6很容易崩溃,以前还写过ie6 fixed的CSS也让IE6崩溃了

作者: jhrxx   发布时间: 2011-04-13

要是我的代码能使IE崩溃,我会觉得自己很牛。囧。。。。

作者: yaganblw   发布时间: 2011-04-13

expression本来就是一个非常占用资源的东西……用了几个不崩溃才怪。

作者: guoerwei   发布时间: 2011-04-13