【发布时间】:2023-03-10 09:40:02
【问题描述】:
我正在使用与此类似的一段 HTML:
<div id='headerBar'>
<div id='headerBarContent'>
<div id='leftContentSubdiv'></div>
<div id='rightContentSubdiv'></div>
</div>
</div>
使用这样的 CSS:
#headerBar
{
position: fixed;
left: 0px;
right: 0px;
min-width: 1024px;
width: 100%;
height: 34px;
z-index: 10000;
}
#headerBarContent
{
display: inline-block;
position: absolute;
left: 50%;
margin-left: -512px;
width: 1024px;
}
#leftContentSubdiv, #rightContentSubdiv
{
position: relative;
width: 512px;
height: 34px;
}
我要创建的是一个标题栏,它会随着页面垂直滚动,并且当窗口小于 headerBarContent 的宽度时水平滚动,而不使用 JavaScript。
Facebook 完全按照我指定的方式实现它,而不使用 JavaScript。
Twitter 用 JavaScript 实现它
The Onion 说明了我现在的困境。页面无法 一旦页面的其余部分水平滚动标题栏 窗口大小小于标题的居中内容
我无法弄清楚 Facebook 在标记中究竟在做什么具有此功能。有人可以帮忙吗?
【问题讨论】:
-
看起来它现在工作得很好......你修好了吗?你用的是什么浏览器?
-
同意。不确定您在寻找什么,但我发现 Facebook 和 Onion 工具栏的行为没有区别。
-
@Ryan,你确定它有效吗?当然,它可以随着页面垂直滚动,但是当您将窗口的宽度调整为小于 1024 像素时,标题栏是否会随着页面的其余部分水平滚动?它不适用于我的示例和 The Onion (这就是我卡住的地方)。我使用 Opera 开发。
-
对我来说,在 Chrome、Firefox 和 IE9 中 Facebook 和 Onion 与我的行为相同。也许我还没有真正理解你想要什么?或者可能是 Opera 导致了问题?你在其他浏览器中测试过吗?
-
您不能以您想要的方式滚动
fixed元素。它的全部意义在于当窗口移动时它不会移动。您可以使用 Javascript 来实现此效果。请参阅此 stackoverflow 答案:stackoverflow.com/a/4676352/681807