Javascript 使用positon制作滚动菜单:固定;
我正在制作一个网站(),我想让左侧的菜单栏与页面一起滚动。换句话说,它将按原样从页面开始,然后,当用户向下滚动时,它将相对于浏览器窗口保持固定。这个想法来自一些StackOverflow页面右侧的链接,如。Javascript 使用positon制作滚动菜单:固定;,javascript,html,css,Javascript,Html,Css,我正在制作一个网站(),我想让左侧的菜单栏与页面一起滚动。换句话说,它将按原样从页面开始,然后,当用户向下滚动时,它将相对于浏览器窗口保持固定。这个想法来自一些StackOverflow页面右侧的链接,如。 我怎样才能做到这一点? PS:我已经知道如何使用position:fixed使div固定在左侧;左:0,但我的问题是如何在页面中间做这件事,不知道窗口的距离(因为页面位于中间,不管窗口大小) ReMySpple有一个非常好的教程(带视频),关于如何做到这一点: 雷米·夏普(Remy S
我怎样才能做到这一点?
PS:我已经知道如何使用
position:fixed使div固定在左侧;左:0代码>,但我的问题是如何在页面中间做这件事,不知道窗口的距离(因为页面位于中间,不管窗口大小) ReMySpple有一个非常好的教程(带视频),关于如何做到这一点:
雷米·夏普(Remy Sharp)有一个非常好的教程(带视频),介绍了如何做到这一点:
听起来像是一道数学题。。。使用JS获得窗口大小,除以2得到中点,从中点值减去固定div大小的一半,然后将CSS位置“left”值设置为该值。听起来像是一个数学问题。。。使用JS获得窗口大小,除以2得到中点,从中点值减去固定div大小的一半,然后将CSS位置“left”值设置为该值。将此添加到样式表中,而不是现在用于\leftcol
#leftcol {
position: fixed;
top: 50%;
margin-left: 20px;
margin-top: -150px;
text-align: center;
}
然后将以下内容添加到您的#容器
类中:
position: relative;
你的菜单现在在页面的中间。不过,您可能需要重新定位内容。。。只需添加一个边距。将此边距添加到样式表中,而不是现在用于#leftcol
#leftcol {
position: fixed;
top: 50%;
margin-left: 20px;
margin-top: -150px;
text-align: center;
}
然后将以下内容添加到您的#容器
类中:
position: relative;
你的菜单现在在页面的中间。不过,您可能需要重新定位内容。。。只需加一个边距。我想他指的是中间和中间。你也可以用同样的方法来垂直。非常感谢你的回答。事实上,我没有想到用js来计算左边的位置,我更关注CSS,我想他指的是中间的位置。你也可以用同样的方法来垂直。非常感谢你的回答。事实上,我没有想到用js来计算左边的位置,我更关注CSS。谢谢你花时间回答我的问题,尽管我想你可能误解了我的问题:这不是关于如何固定元素垂直居中,而是如何使它正常启动,并且只有当用户向下滚动时(div触摸屏幕顶部)修复它。无论如何,谢谢!谢谢你花时间回答,尽管我想你可能误解了我的问题:这不是关于如何修复垂直中心的元素,而是如何使它正常启动,并且只有当用户向下滚动时(div触摸屏幕顶部)修复它。无论如何,谢谢!谢谢你花时间回答。我相信这会起作用。不过,作为一个有趣的问题,我如何检测用户何时滚动(以及滚动多少)没有第三方脚本?感谢您花时间回答。我相信这会起作用。不过,作为一个有趣的问题,我如何检测没有第三方脚本的用户何时滚动(以及滚动多少)?