将导航栏粘贴到页面顶部后,它从中间到最左侧
Upon sticking navbar to top of page, it goes from the middle to the very left
所以我目前正在做一个项目,并且有正确的代码在滚动通过后将菜单栏粘在顶部。但是,当菜单栏不是页面的 100% 时,它会向左压缩。有人知道如何把它放回原来的位置吗?
网页代码:
<div class="menucontainer">
<ul class="menu">
<li><a href="Default.aspx">Home</a></li>
<li><a href="History.aspx">History</a></li>
<li><a href="Gallery.aspx">Gallery</a></li>
<li><a href="Services.aspx">Services</a></li>
<li><a href="Contact.aspx">Contact</a></li>
</ul>
</div>
<div id="stickyalias"></div>
j查询代码:
$(function () {
// Check the initial Poistion of the Sticky Header
var stickyHeaderTop = $('.menucontainer').offset().top;
$(window).scroll(function () {
if ($(window).scrollTop() > stickyHeaderTop) {
$('.menucontainer').css({ position: 'fixed', top: '0px' });
$('#stickyalias').css('display', 'block');
} else {
$('.menucontainer').css({ position: 'static', top: '0px' });
$('#stickyalias').css('display', 'none');
}
});
});
一些CSS代码:
.menucontainer {
height: 50px;
line-height: 50px;
clear: both;
z-index: 9999;
opacity: .9;
margin-left: auto;
margin-right: auto;
width: 1100px;
}
如果它对任何人有帮助,可以在 mor.actiongymok.com 访问该页面以查看其运行的实时版本。
这是固定元素的预期行为...如果尚未指定left
值,则默认为 left:0;
。所以要居中,给它:
left: 50%;
margin-left: -550px; // half the width of your header
您必须根据需要跨断点调整此设置,但这就是您的导航像那样跳过的原因。
我认为您的菜单具有固定宽度。当菜单粘在顶部时,将类 .menucontainer 的宽度更改为 100%。
如果您希望菜单保持相同的大小,请将以下 CSS 添加到您的 .menucontainer 中
.menucontainer{
left: 0;
right: 0;
}
$(function () {
// Check the initial Poistion of the Sticky Header
var stickyHeaderTop = $('.menucontainer').offset().top;
var menuContainerWidth =$('.menucontainer').outerWidth();
$(window).scroll(function () {
if ($(window).scrollTop() > stickyHeaderTop) {
$('.menucontainer').css({ position: 'fixed', top: '0px',left:'50%',marginLeft:menuContainerWidth/2 + 'px'});
$('#stickyalias').css('display', 'block');
} else {
$('.menucontainer').css({ position: 'static', top: '0px',left:'auto',marginLeft:'0px' });
$('#stickyalias').css('display', 'none');
}
});
});
我建议使用bootstrap3。它应该内置到Visual Studio中。它使使用他们预先构建的 css 变得更加容易。
相关文章:
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- jQuery粘性插件可变顶部间距
- 使用jQuery更改元素的顶部位置
- 背景图像顶部的滚动图像不移动
- 滚动然后捕捉到顶部而不是取消捕捉
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- 如何在离子框架+有角度的框架中制作顶部标签
- 计算“;“左”;以及“;顶部“;来自固定位置浮动元素的值
- 如何在引导程序元素的顶部添加掩码
- 什么'在Express中路由时,应用程序级中间件和路由器级中间件之间的区别是什么
- 滚动到Rails 4应用程序中的顶部jQuery
- jQuery-将元素滚动到屏幕中间,而不是使用锚链接滚动到顶部
- 如何将锚定在(外部)页面的中间而不是顶部
- Div使用jquery从页面顶部滑到中间
- 对于移动浏览器,当文本字段处于焦点中时,我如何“推送”?将文本字段移至页面顶部,而不是默认的中间位置
- 用jQuery从中间到顶部动画多个元素
- 我能让视差滑动停止在页面的中间而不是顶部吗?
- javascript排序,将中间项放在顶部
- 将导航栏粘贴到页面顶部后,它从中间到最左侧