第三方产品会输出一个包含iframe的网页,而我无法完全控制内容。主iframe缺少doctype声明,这迫使IE8进入怪癖模式。
我正在维护一个javascript应用程序,它将几个按钮添加到屏幕的右边缘。问题是在IE8怪癖模式下布局是关闭的。按钮不可见(可能是因为IE z-index行为不正确),并且它们的位置已关闭。
我正在考虑为IE8创建一个单独的CSS。我应该如何调整CSS的怪癖模式?
答案 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都不会恢复到怪癖模式吗?