是否有可靠的解决方案来实施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
}
感谢您的帮助。
答案 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;}