当屏幕尺寸低于940px时,我必须更改什么才能使导航栏固定?我不想让它反应灵敏。如果你将浏览器窗口的大小调整到940px以下,你会看到scroolbar-x (底部滚动条)出现,但是当你向右滚动时,导航栏的位置仍然是固定的,并且一些菜单不会出现。


也许一些图片会解释我的问题。
发布于 2012-06-27 12:18:35
这不能仅在CSS中完成。
您给出的示例(Twitter)在所有屏幕大小下都有固定位置和固定大小的导航栏。固定位置意味着滚动条不会影响导航栏的位置,这就是为什么你不能使用x滚动条来查看导航栏的一部分,一旦导航栏的宽度小于940px,它就隐藏在浏览器窗口的右边框下面。
所以你必须做出选择
实际上,您不能让position在x方向上以一种方式工作,而在y方向上以另一种方式工作。
通过使用CSS检查器编辑Twitter页面中的以下类,您可以看到我所说的选项2的含义:
.global-nav .container {
width: auto;
max-width: 865px;
}
.global-nav, .global-nav-outer {
height: auto;
}第二个选择器实现了垂直流动性,因为内容不能放在一行中。
通过进行以下更改,您可以看到我所说的选项3的意思:
.topbar {
position: absolute;
/* ... the rest as is */
}编辑
当然,不能在CSS中完成并不意味着它根本不能完成。下面是实现您提到脚本的jsfiddle。这里使用的是MooTools,而不是jQuery,我通常使用bootstrap。
小提琴:http://jsfiddle.net/uadDW/4/
全屏版本更好地查看效果:http://jsfiddle.net/uadDW/4/show/
(感谢@Sherbrow为我制作这篇文章提供了基础小提琴)。
发布于 2013-07-31 10:08:13
遇到了同样的问题,并对建议的解决方案感到兴奋,但随后我努力在自己的代码中实现(是的,noobie)。
事实证明,这里与jquery.js有冲突,我在代码中的其他地方需要它。
http://jsfiddle.net/uadDW/83/
/* code as before .. only added jquery.js link */从上述小提琴中的外部资源中删除jquery.js,您将获得最初所需的行为。老鼠!
https://stackoverflow.com/questions/11218886
复制相似问题