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

标签 css internet-explorer-8 quirks-mode

第三方产品输出带有 iframe 的网页,我无法完全控制内容。主 iframe 缺少文档类型声明,这迫使 IE8 进入怪癖模式。

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

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

最佳答案

如果您确实可以控制(单独的)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 中的一个问题,文档没有文档类型?没有它,不是所有的 IE 都会恢复到怪癖模式吗?

关于css - 使布局在 IE8 怪癖模式下工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24363284/

相关文章:

html - 以类似的对齐方式设置表格中的文本

javascript - document.width - IE 错误

css - minifycss 的缩小错误

html - 使用 CSS3 和 Html5 在 IE8 中定位中心

internet-explorer - Internet Explorer 8 和 Internet Explorer 6 并排

javascript - Document.getElementById() 返回名称等于指定 id 的元素

html - 100% 高度,嵌套表格,标准模式

internet-explorer - iframe 会在 quirks 模式下呈现吗?

html - 使用 Chrome DevTools 插入内联 CSS 规则是一种好的编码习惯吗?

html - 电子邮件布局中的表格单元格