【发布时间】:2014-02-21 19:38:08
【问题描述】:
我一直在 Safari 中构建一个网站,我刚刚在 Firefox 中对其进行了测试,我的固定导航元素表现得好像它们的位置是绝对的。
#navigation {
display: block;
width: 100%;
height: 50px;
position: fixed;
left: 0px;
bottom: 0px;
text-align: center;
z-index: 99000;
}
这是我用于主要导航包装的 CSS(它是底部导航)。在 Webkit 中,它完美地工作:也就是说,它无论如何都粘在窗口的底部。在 Firefox 中,它将自己定位在标签的末尾,因此,例如,在长页面上,我必须向下滚动才能看到它。它表现得好像它是绝对的。
我还有一个侧边栏导航。
.slidebar {
display: block;
position: fixed;
left: -1px;
top: -1px;
width: 1px;
height: 100%;
overflow: hidden;
-webkit-transition: all 300ms ease;
-moz-transition: all 300ms ease;
-o-transition: all 300ms ease;
-ms-transition: all 300ms ease;
transition: all 300ms ease;
z-index: 99998;
}
这个侧边栏也表现得好像它是绝对的——也就是说,它正确地将自己定位在屏幕之外,但它正在拉长<body>,因此出现了水平滚动条。 height: 100%; 也响应 <body> 高度而不是窗口高度,因此,例如,我的 <header> 的上边距为 20px,滑动条也观察到该边距(主体的边距为 0)。同样,height: 100%; 不是在窗口底部结束,而是在 <body> 的底部结束,将页脚的底部边距考虑在内。
我这辈子都无法理解为什么会这样。元素检查显示所有属性都加载正常,并且在 Chrome 和 Safari 中可以正常工作。它最初可以正常工作,并且在我最后一次编辑导航时也可以正常工作,但是自从我构建了网站的其他不相关部分后,它就停止了工作。
http://www.upprise.com/demo.php - 点击信封图标查看侧边栏
【问题讨论】:
-
你能提供一个例子来证明这一点吗?这对解决您的问题非常有帮助
-
upprise.com/demo.php@JoshC
标签: css firefox css-position