css - 在 Firefox 59.0 中隐藏滚动条

标签 css firefox scrollbar overflow hidden

有没有一种方法可以通过在 Firefox 59.0 中使用 CSS 来删除或透明所有滚动条部分?

css 语法对我不起作用:溢出:-moz-scrollbars-none

我最终尝试按如下方式解决它:

* {
  box-sizing: border-box;
  font-family: Roboto, sans-serif;
}

.container {
  display: flex;
  flex-direction: row;
  width: 30rem;
  height: 22rem;
  border-radius: 3rem;
  border: solid 0.2rem #b2b2c2;
  background-color: LightSlateGray;
  display: flex;
  align-items: center;
  justify-content: center;
}

.scrollport:before,
.scrollport:after {
  content: "";
}

.scrollport {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  width: 9.4rem;
  height: 22rem;
  overflow: auto;
  scroll-snap-type: y mandatory;
  scrollbar-width: none;
}

.scrollport:before,
.scrollport:after,
.cell {
  display: block;
  scroll-snap-align: center;
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: 33.3%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.4rem;
}
<div class="container">
  <div class="scrollport">
    <div class="cell">🍎</div>
    <div class="cell">🍊</div>
    <div class="cell">🍌</div>
    <div class="cell">🍉</div>
    <div class="cell">🍇</div>
    <div class="cell">🍓</div>
  </div>
  <div class="scrollport">
    <div class="cell">🍌</div>
    <div class="cell">🍉</div>
    <div class="cell">🍇</div>
    <div class="cell">🍓</div>
    <div class="cell">🍎</div>
    <div class="cell">🍊</div>
  </div>
  <div class="scrollport">
    <div class="cell">🍎</div>
    <div class="cell">🍊</div>
    <div class="cell">🍇</div>
    <div class="cell">🍓</div>
    <div class="cell">🍌</div>
    <div class="cell">🍉</div>
  </div>
</div>


另一个尝试涉及两个 div(scrollportchild)。

* {
  box-sizing: border-box;
  font-family: Roboto, sans-serif;
}

.container {
  display: flex;
  flex-direction: row;
  width: 30rem;
  height: 22rem;
  border-radius: 3rem;
  border: solid 0.2rem #b2b2c2;
  background-color: LightSlateGray;
  display: flex;
  align-items: center;
  justify-content: center;
}

.scrollport {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  width: 9.4rem;
  height: 22rem;
  scroll-snap-type: y mandatory;
  overflow: hidden;
}

.child:before,
.child:after {
  content: "";
}

.child {
  height: 100%;
  margin-right: -5rem;
  /* maximum width of scrollbar */
  padding-right: 5rem;
  /* maximum width of scrollbar */
  overflow-y: scroll;
}

.child:before,
.child:after,
.cell {
  display: block;
  scroll-snap-align: center;
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: 33.3%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.4rem;
}
<div class="container">
  <div class="scrollport">
    <div class="child">
      <div class="cell">🍎</div>
      <div class="cell">🍐</div>
      <div class="cell">🍊</div>
      <div class="cell">🍋</div>
      <div class="cell">🍌</div>
      <div class="cell">🍉</div>
      <div class="cell">🍇</div>
      <div class="cell">🍓</div>
    </div>
  </div>
  <div class="scrollport">
    <div class="child">
      <div class="cell">🍌</div>
      <div class="cell">🍉</div>
      <div class="cell">🍇</div>
      <div class="cell">🍓</div>
      <div class="cell">🍎</div>
      <div class="cell">🍐</div>
      <div class="cell">🍊</div>
      <div class="cell">🍋</div>
    </div>
  </div>
  <div class="scrollport">
    <div class="child">
      <div class="cell">🍎</div>
      <div class="cell">🍐</div>
      <div class="cell">🍊</div>
      <div class="cell">🍇</div>
      <div class="cell">🍓</div>
      <div class="cell">🍋</div>
      <div class="cell">🍌</div>
      <div class="cell">🍉</div>
    </div>
  </div>
</div>

最佳答案

你不能修改 Firefox 中的滚动条设计,但是如果想隐藏那个滚动条,那么使用 margin-left 负值。

* {
  box-sizing: border-box;
  font-family: Roboto, sans-serif;
}

.container {
  display: flex;
  flex-direction: row;
  width: 30rem;
  height: 22rem;
  border-radius: 3rem;
  border: solid 0.2rem #b2b2c2;
  background-color: LightSlateGray;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

.scrollport:before,
.scrollport:after {
  content: "";
}

.scrollport {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  width: 9.4rem;
  height: 22rem;
  overflow: auto;
  scroll-snap-type: y mandatory;
  scrollbar-width: none;
  margin-left: -20px;
  background: LightSlateGray;
}

.scrollport:before,
.scrollport:after,
.cell {
  display: block;
  scroll-snap-align: center;
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: 33.3%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.4rem;
}

.container:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 21px;
  background: LightSlateGray;
  right: 38px;
}
<div class="container">
  <div class="scrollport">
    <div class="cell">🍎</div>
    <div class="cell">🍊</div>
    <div class="cell">🍌</div>
    <div class="cell">🍉</div>
    <div class="cell">🍇</div>
    <div class="cell">🍓</div>
  </div>
  <div class="scrollport">
    <div class="cell">🍌</div>
    <div class="cell">🍉</div>
    <div class="cell">🍇</div>
    <div class="cell">🍓</div>
    <div class="cell">🍎</div>
    <div class="cell">🍊</div>
  </div>
  <div class="scrollport">
    <div class="cell">🍎</div>
    <div class="cell">🍊</div>
    <div class="cell">🍇</div>
    <div class="cell">🍓</div>
    <div class="cell">🍌</div>
    <div class="cell">🍉</div>
  </div>
</div>

关于css - 在 Firefox 59.0 中隐藏滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59560833/

相关文章:

css - 包含 <a href> 和 <span> 作为可点击链接的整个 <li> 元素

css - 我可以有一个具有不同父元素的 &lt;input&gt; 和 <label> 吗?

html - 为什么 CSS 选择器/HTML 属性首选破折号?

c# - 如何以编程方式从浏览器中删除已保存的密码

javascript - 火狐插件 tabs.activeTab 未定义

javascript - 使用 Firefox 在 css 之前加载 Iframe 内容

css - 将 div float 在可滚动的 div 之上,而不会覆盖其滚动条

css - 使用 GWT 溢出到滚动条和下一个面板的右侧

html - 在 Internet Explorer 中更改滚动条

android - 如何在 NestedScrollView 中显示滚动条