1

我需要将一个 div 放置在我的视口底部。我开始使用 position:fixed; 底部:0px;那工作就好了。但是我正在做的事情是通过 javascript 在不同的页面中注入的。并且有些页面没有定义文档类型,所以在 IE 中渲染得像怪癖模式,所以 div 没有正确定位..
我尝试使用 javascript (document.documentElement.clientHeight) 定位 div这很好用。但是当没有定义文档类型时,“document.documentElement.clientHeight”为 0,因此 div 再次没有正确定位。关于如何解决这个问题的任何想法?我只对 IE 7 和 8 感兴趣。

在此先感谢贡萨洛

4

1 回答 1

0

虽然我同意评论指出您应该更好地确保每个页面都使用触发标准模式的(有效)文档类型(并且您不能动态更改它或渲染模式),但您可以测试是否您处于标准模式或使用document.compatMode. 此属性CSS1Compat在使用前者或BackCompat使用后者时返回。

在标准模式下,您可以只使用<div>with position: fixedand bottom: 0(在 IE 7 和 8 中)。使用 quirks 模式时,您必须在<div>绝对定位的视口上方使用绝对定位<div>( where<body><html>have a heightof 100%)。我现在太累了,无法编写完整的示例,但是您可以查看此答案以了解如何做到这一点。请注意,在 IE 的 quirks 模式中document.body.clientHeight返回视口的高度(另请参阅查找浏览器窗口的大小)。

于 2010-05-31T22:15:38.640 回答