【问题标题】:Hide scrollbar in Firefox 59.0在 Firefox 59.0 中隐藏滚动条
【发布时间】:2020-04-20 23:17:36
【问题描述】:

有没有办法通过在 Firefox 59.0 中使用 CSS 来删除或透明所有滚动条?

css 语法对我不起作用:overflow: -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>

【问题讨论】:

    标签: css firefox scrollbar overflow hidden


    【解决方案1】:

    在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>

    【讨论】:

    • 这似乎是唯一合理的解决方案,非常感谢!
    猜你喜欢
    • 2013-11-04
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 2017-01-06
    • 2011-02-22
    • 2020-11-17
    相关资源
    最近更新 更多