Css 如何在Firefox中隐藏滚动条?
我刚刚发现如何在Google Chrome中隐藏滚动条,我用以下代码实现了这一点:Css 如何在Firefox中隐藏滚动条?,css,firefox,Css,Firefox,我刚刚发现如何在Google Chrome中隐藏滚动条,我用以下代码实现了这一点: ::-webkit-scrollbar { display: none; } 唯一的问题是,这在Firefox上不起作用。我尝试了很多方法,但仍然不起作用。这是一个通用的解决方案: <div class="outer"> <div class="inner"> Some content... </div> </div> <style>
::-webkit-scrollbar { display: none; }
唯一的问题是,这在Firefox上不起作用。我尝试了很多方法,但仍然不起作用。这是一个通用的解决方案:
<div class="outer">
<div class="inner">
Some content...
</div>
</div>
<style>
.outer {
overflow: hidden;
}
.inner {
margin-right: -16px;
overflow-y: scroll;
overflow-x: hidden;
}
</style>
html {overflow: -moz-scrollbars-none;}
@-moz-document url-prefix() {
.element {
margin-right: -15px;
}
}
一些内容。。。
.外部{
溢出:隐藏;
}
.内部{
右边距:-16px;
溢出y:滚动;
溢出x:隐藏;
}
滚动条被父div隐藏
这要求您在父分区中使用overflow:hidden。我可以隐藏滚动条,但仍然可以使用此解决方案使用鼠标滚轮滚动:
<div class="outer">
<div class="inner">
Some content...
</div>
</div>
<style>
.outer {
overflow: hidden;
}
.inner {
margin-right: -16px;
overflow-y: scroll;
overflow-x: hidden;
}
</style>
html {overflow: -moz-scrollbars-none;}
@-moz-document url-prefix() {
.element {
margin-right: -15px;
}
}
下载插件并包含以下功能:
jQuery('html,body').bind('mousewheel', function(event) {
event.preventDefault();
var scrollTop = this.scrollTop;
this.scrollTop = (scrollTop + ((event.deltaY * event.deltaFactor) * -1));
//console.log(event.deltaY, event.deltaFactor, event.originalEvent.deltaMode, event.originalEvent.wheelDelta);
});
尝试使用以下方法:
overflow-y:-moz隐藏不可滚动代码>用于webkit的使用如下:
::-webkit-scrollbar {
width: 0px; /* remove scrollbar space */
background: transparent; /* optional: just make scrollbar invisible */
}
对于Mozilla Firefox,请使用以下代码:
@-moz-document url-prefix() {
html,body{overflow: hidden !important;}
}
如果滚动不起作用,则添加
element {overflow-y: scroll;}
对于特定元素在某些特定情况下(元素位于屏幕的最右侧,或其父项溢出被隐藏),这可能是一种解决方案:
<div class="outer">
<div class="inner">
Some content...
</div>
</div>
<style>
.outer {
overflow: hidden;
}
.inner {
margin-right: -16px;
overflow-y: scroll;
overflow-x: hidden;
}
</style>
html {overflow: -moz-scrollbars-none;}
@-moz-document url-prefix() {
.element {
margin-right: -15px;
}
}
您可以使用滚动条宽度
规则。您可以滚动条宽度:无
在Firefox中隐藏滚动条,并且仍然可以自由滚动
body {
scrollbar-width: none;
}
要隐藏Chrome、Firefox和IE上的滚动条,您可以使用:
.hide-scrollbar
{
overflow: auto;
-ms-overflow-style: none; /* IE 11 */
scrollbar-width: none; /* Firefox 64 */
}
这就是我在Firefox、Chrome和Edge中保留滚动条的同时禁用滚动条所需的:
@-moz-document url-prefix() { /* Disable scrollbar Firefox */
html{
scrollbar-width: none;
}
}
body {
margin: 0; /* remove default margin */
scrollbar-width: none; /* Also needed to disable scrollbar Firefox */
-ms-overflow-style: none; /* Disable scrollbar IE 10+ */
overflow-y: scroll;
}
body::-webkit-scrollbar {
width: 0px;
background: transparent; /* Disable scrollbar Chrome/Safari/Webkit */
}
对于较新版本的Firefox,旧的解决方案不再有效,但我在v66.0.3中成功地使用了滚动条颜色
属性,您可以将其设置为透明
,这将使桌面上Firefox中的滚动条至少不可见(仍然发生在视口中,在移动设备上不起作用,但在那里,滚动条是一条细线,位于右侧的内容上)
我用了这个,它成功了。
注意:用户代理必须将根元素上设置的任何滚动条宽度值应用于视口。我尝试了所有方法,最有效的解决方案是始终显示垂直滚动条,然后添加一些负边距以隐藏它
这适用于IE11、FF60.9和Chrome 80
body {
-ms-overflow-style: none; /** IE11 */
overflow-y: scroll;
overflow-x: hidden;
margin-right: -20px;
}
它在Firefox中不起作用,因为Firefox放弃了对隐藏滚动条的支持(在旧版本中,您可以使用溢出:-moz scrollbars none;
)。以防万一,如果有人想找一个黑客,以某种方式使滚动条在Firefox(79.0)中不可见
这是一个成功应用于Chrome、IE、Safari的解决方案,它使Firefox中的滚动条透明化。上述所有解决方案都不适用于真正隐藏滚动条的Firefox(79.0)
请如果有人找到一种不改变颜色的方法,这将是非常有帮助的。请在下面评论
.scrollhost::-webkit-scrollbar {
display: none;
}
.scrollhost ::-moz-scrollbar {
display: none;
}
.scrollhost {
overflow: auto;
-ms-overflow-style: none;
scrollbar-color: transparent transparent; /*just hides the scrollbar for firefox */
}
我在ReactJS中使用了创建react应用程序
,通过将其放入我的app.css
:
@-moz-document url-prefix() {
html,
body {
scrollbar-width: none;
}
}
另外,body
元素有溢出:auto
这样做似乎不是一个好主意。使用隐藏在html、body上的css溢出,并使用100%高度和宽度的包装div。这可能有点太明显了,但您尝试过Firefox的-moz吗?不过我同意abhitalks,这似乎不是一个好主意是的。一个可行的解决方案可行,但不可靠,因为16px只是一个假定的滚动条宽度。复制时请将分数归功于真正的作者@chowey。当内部div内容长于屏幕宽度时,它在FF 56上不起作用。此修复方案解决了FF的问题,但在其他浏览器中有更糟糕的副作用(剪切文本)我可以很容易地看到我自己在所有需要在我的应用程序上滚动的div中使用它……这似乎相当于“溢出:隐藏”;并且不允许滚动:-(适用于我-水平滚动条现在隐藏在Firefox中。谢谢!从Firefox 63开始,只有在Firefox的功能设置中将layout.css.overflow.moz滚动条设置为enabled
至true
时,水平滚动条才起作用,这不适合于生产使用。但是,将滚动条宽度设置为:无;在html中设置为。It隐藏滚动条
但停止滚动动作。overflow-y:-moz hidden unbrolleble;
和overflow:hidden
之间有什么区别呢?实际上没什么,所以这不是正确的答案。但是我给你一个投票。谢谢。区别是第一个只在Firefox中隐藏它。我投票支持你,但这太奇怪了告诉我你为什么-2
?你的答案是正确的问题是如何隐藏滚动条,但在内容溢出时仍能让用户在需要时滚动,而不是完全禁用滚动条。原因是FF滚动条很难看,有时即使内容没有溢出也会出现。所有其他浏览器都提供简单而优雅的css解决方案-可能我需要说,即使是IE!这在最新的浏览器上也能工作,但请注意这仍然是一个。此外,请记住,此属性应该与生成滚动条的元素一起使用。例如,如果您使用的是Angular Material的md内容
,则主体不会生成滚动条,而不是md content
元素。因此,body{scrollbar width:none;}
将不起作用,但是md content{scrollbar width:none;}
will.Ah!最后是这样的!在FF70+中如何操作?滚动条宽度:无;
不再工作。我需要隐藏滚动条,而不是使其透明。