0

我有一个 if 语句来决定在什么中呈现页面。

<script language="JavaScript">
if (NS4) {
    document.write('<LAYER NAME="floatlayer" LEFT="22" TOP="60">');
}

if ((IE4) || (NS6)) {
    document.write('<div id="floatlayer" style="position:absolute; left:22; top:62;">');
}
</script>

现在我知道这是可行的,因为这是以前版本的代码,我没有任何问题。我创建了一个页面,该页面强制页面呈现为最新的查看器 possilbe(IE10,Chrome1) 我使用了一个简单的 Meta 标签来执行此操作;

<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">

当我打开 IE 并将其切换到 Quirks 模式时,页面可以正常工作,并且所有内容都已正确排列,但除了 Quirks 之外的任何内容都已损坏。这是什么原因,我该如何解决?

4

2 回答 2

0

修复就像删除

<script language="JavaScript">

if (NS4) {
    document.write('<LAYER NAME="floatlayer" LEFT="22" TOP="60">');
}

if ((IE4) || (NS6)) {
    document.write('<div id="floatlayer" style="position:absolute; left:22; top:62;">');
}
</script>

并为表创建一个类。然后我在 .css 文件中设置属性并正确定位文本。

于 2013-11-06T17:13:13.867 回答
0

22不是 CSS 中的有效值left。您可能想要22px和类似的top价值。不过,浏览器会在 quirks 模式下接受某些属性的无单位长度;见http://quirks.spec.whatwg.org/#the-unitless-length-quirk。这就是为什么事情在怪癖模式下对你有用。

于 2013-11-05T05:26:15.383 回答