1

是否有position: fixed所有主要浏览器都支持的可靠实施解决方案?

我为我最近的代码感到非常自豪,它解决了我在 FF 中的所有问题,直到我在 IE 中查看它。周围似乎有很多黑客,但其中一些似乎相互矛盾......

我需要在页面上相对于窗口定位几个元素。

这段代码在 FF 中运行良好,但在 IE 中却不行,甚至在 v.9 中也是如此。即使我滚动页面,该元素也应该固定在左上角。在 IE 中,它会随着页面内容向上滚动。

#myElement{
    left:0;
    top:0;
    position:fixed;
    height:35px;
    width:290px;
    background-color: #f5f5f5;
    z-index: 999
}

谢谢你的帮助。

4

4 回答 4

3

正如我所怀疑的,您使用的是无效的DOCTYPE,它将 IE 发送到怪癖模式。要使 IE 保持标准模式,您需要确保使用有效的DOCTYPE. 所以,如果你想使用 HTML 4.01 过渡,它应该是:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

但是,我会使用更短更简单的 HTML5 DOCTYPE

<!DOCTYPE html>
于 2012-05-01T20:15:57.617 回答
2

只有IE6不支持position:fixed,不是主流浏览器。(请参阅此处的浏览器支持。)

于 2012-05-01T19:53:29.107 回答
0

尝试使用 position:relative; 或位置:绝对;而不是位置:固定;这些在 IE9 中都有。但是,很多时候位置属性会产生不良结果,因此,我总是希望尽可能地避免它。也请检查 Chrome/Webkit。

于 2012-05-01T20:15:44.447 回答
-1

如果有人仍然有这个问题。

在样式表中输入以下内容。所有浏览器都会用 position:fixed 覆盖 position:absolute ,你会得到你想要的。IE 6 不理解 > 运算符,因此它永远不会看到 position:fixed 并使用 position:absolute。该网页可在所有浏览器中使用,但在 IE6 中不那么漂亮。

htmltag
    {position: absolute;}

body>htmltag
    {position:fixed;}
于 2016-03-28T00:51:39.337 回答