跨浏览器支持位置:已修复

时间:2012-05-01 19:48:21

标签: html css

是否有可靠的解决方案来实施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 个答案:

答案 0 :(得分: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>

答案 1 :(得分:2)

只有IE6不支持position:fixed,并且它不是主要的浏览器。 (请参阅浏览器支持here。)

答案 2 :(得分:0)

尝试使用position:relative;或者位置:绝对的;而不是位置:固定; 这些都在IE9中。 然而,很多次位置属性会产生不良结果,因此,我总是倾向于尽可能地避免它。请同时查看Chrome / Webkit。

答案 3 :(得分:-1)

如果有人还有这个问题。

在样式表中输入以下内容。所有浏览器都会覆盖位置:绝对位置:固定,你会得到你想要的。 IE 6不理解&gt;运算符,所以它永远不会看到位置:固定并使用位置:绝对。该网页可在所有浏览器中使用,但在IE6中不是很漂亮。

htmltag
    {position: absolute;}

body>htmltag
    {position:fixed;}