当前位置: 首页 > 面试题库 >

只是禁用滚动而不隐藏它?

锺离边浩
2023-03-14
问题内容

我正在尝试使用灯箱时禁用父级的html / body滚动条。这里的主要词是 disable 。我也 没有 想隐藏它overflow: hidden;

这样做的原因是overflow: hidden使站点跳转并占据了滚动条所在的区域。

我想知道是否有可能在仍然显示它的同时禁用滚动条。


问题答案:

如果覆盖层下的页面可以在顶部“固定”,则在打开覆盖层时可以设置

body { position: fixed; overflow-y:scroll }

您仍应看到右侧的滚动条,但内容不可滚动。当您关闭叠加层时,只需还原这些属性即可

body { position: static; overflow-y:auto }

我之所以这样提议只是因为您不需要更改任何滚动事件

更新资料

您还可以做些微的改进:如果document.documentElement.scrollTop在打开图层之前通过javascript
获得属性,则可以将该值动态分配为topbody元素的属性:通过这种方法,无论您是否在重新位于顶部或您是否已滚动。

CSS

.noscroll { position: fixed; overflow-y:scroll }

JS

$('body').css('top', -(document.documentElement.scrollTop) + 'px')
         .addClass('noscroll');


 类似资料:
  • 我找不到任何选项、设置或键盘快捷键来禁用或隐藏那个烦人的滚动条。我只是觉得它没有用,而且很分散注意力。 也不能像Atom一样编辑编辑器的CSS。

  • 嗯,我也试着把它藏在身体里!还是不工作..?

  • 有没有一种方法可以隐藏滚动条,但仍然保留向上/向下滚动的选项?我尝试溢出:隐藏;它删除滚动条,但我不能滚动。

  • 目前,我正在使用以下代码显示滚动条: 使用此CSS时,滚动条始终可见,这意味着即使div中的内容没有溢出。 当内容符合提到的高度时,我如何隐藏它们?

  • 我有底部的导航栏和视窗内的协调器布局,视窗内的每个片段都有自己的折叠工具栏, 但是对我不起作用。 我也不想做通过监听我嵌套的滚动视图(内部片段),因为它没有动画。 我的活动 其中一个片段(在内容视图中有一个嵌套的scrollview。我设置了它的布局行为) 这些链接不起作用在滚动上隐藏/显示底部导航视图 使用AppBarLayout在协调布局中滚动时显示/隐藏底部导航视图 当滚动底部导航栏不隐藏时

  • 问题内容: 我希望能够滚动浏览整个页面,但不显示滚动条。 在谷歌浏览器中: 但是Mozilla Firefox和Internet Explorer似乎无法正常工作。 我也在CSS中尝试过: 那确实隐藏了滚动条,但我不能再滚动了。 有什么办法可以删除滚动条,同时仍然可以滚动整个页面? 请仅使用CSS或HTML。 问题答案: 只是测试工作正常。 JavaScript: 由于滚动条的宽度在不同的浏览器中