IE quirksmode中绝对定位DIV的宽度

时间:2010-09-08 15:36:32

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

我正在使用一个旨在在IE quirksmode上运行的Web应用程序(它最初是在几年前设计的)。我试图用绝对定位做一些事情,但它并没有像我预期的那样奏效。我有一个简化的例子来说明我的问题。请参阅下文。

<html>
<head>
<title></title>
</head>
<body>

<div id="1" style="background: yellow; width: 600px; height: 400px">
   <div id="2" style="background: green; position: absolute;">
      A long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long text
   </div>
</div>

</body>
</html>

我希望id为2的div占用文档的宽度。这确实发生在标准模式下的Firefox和IE中。在怪癖模式下,div的宽度仍然受到容器的约束(实际上更是如此 - 它在右边有一个额外的边距)。

我是否有某种方式可以在怪癖模式下在IE中发生这种行为?谢谢!

1 个答案:

答案 0 :(得分:1)

当然,您可以使用CSS expression<div id"two">的宽度设置为文档的宽度。类似IE only stylesheet中的以下内容:

#two {
    width: expression(document.body.clientWidth);
}

就像注释一样 - 我将ID从2更改为two,因为id attribute无法以数字开头。