使布局在IE8怪癖模式下工作

时间:2014-06-23 10:08:12

标签: css internet-explorer-8 quirks-mode

第三方产品会输出一个包含iframe的网页,而我无法完全控制内容。主iframe缺少doctype声明,这迫使IE8进入怪癖模式。

我正在维护一个javascript应用程序,它将几个按钮添加到屏幕的右边缘。问题是在IE8怪癖模式下布局是关闭的。按钮不可见(可能是因为IE z-index行为不正确),并且它们的位置已关闭。

我正在考虑为IE8创建一个单独的CSS。我应该如何调整CSS的怪癖模式?

1 个答案:

答案 0 :(得分:0)

如果您确实可以控制(单独的)Javascript文件,并假设已经在头部调用了JS文件,则可以在html元素上设置条件类,如下所示:

<html>
<head>
    <title>Demo Conditional Class Quirks Mode</title>
    <script type="text/javascript" src="folder/js_file.js"></script>
    <style type="text/css">
    div {
        width: 100px;
        height: 100px;
        background: red;
        position: relative;
        left: 100px;
        }
    .ieQM div {
        left: 200px;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

将此添加到js_file.js:

if (document.documentMode == 5)
    document.documentElement.className += ' ieQM'; // IE in Quirks Mode


顺便说一句,我想知道它是否只是IE8中的一个问题,该文档没有doctype?没有它,所有IE都不会恢复到怪癖模式吗?