我有一个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>
现在我知道这是有效的,因为这是以前版本的代码,我没有遇到任何问题。我创建了一个页面,强制页面呈现为最新的查看器(IE10,Chrome1)我使用了一个简单的Meta标签来执行此操作;
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
当我继续使用IE并将其切换到Quirks模式时,页面正常工作,所有内容都正确排列,但除了Quirks以外的任何内容都被破坏了。这是什么原因以及如何解决?
答案 0 :(得分:0)
22
不是CSS中left
的有效值。对于22px
值,您可能需要top
和类似值。但是,在怪癖模式下,浏览器会在某些属性中接受无单位长度;见http://quirks.spec.whatwg.org/#the-unitless-length-quirk。这就是为什么事情在怪癖模式下适合你。
答案 1 :(得分: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文件中设置属性并正确定位文本。