【问题标题】:How to hide the horizontal scroll bar while scrolling in mobile如何在移动设备中滚动时隐藏水平滚动条
【发布时间】:2019-10-26 01:42:54
【问题描述】:

我有一些列表在桌面上显示在一行中,但在移动设备上,我必须显示相同但它应该可以通过滑动水平滚动。

我使用 CSS 尝试了以下代码。它正在工作,但我不想在滚动时显示水平滚动条。另外,我使用的是 bootstrap 4,所以我在容器中添加了我的列表。

你能帮我解决这个问题吗?

.aboutlinks ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.aboutlinks ul li {
  display: inline-block;
  margin: 15px;
  border: 1px solid #000;
}

.aboutlinks ul li a {
  padding: 6px 25px;
  display: block;
}

@media all and (max-width: 768px) {
  .aboutlinks ul {
    display: flex;
     overflow-x: hidden;
  }
}
<div class="aboutlinks">
  <ul class="smothscrollclass">
    <li><a href="" class="">ABCDE</a></li>
    <li><a href="">FGHIJ</a></li>
    <li><a href="">KLMNO</a></li>
    <li><a href="">PQRST</a></li>
    <li><a href="">UVWX</a></li>
    <li><a href="">XY</a></li>
  </ul>
</div>

【问题讨论】:

  • 溢出-y:滚动;溢出-x:隐藏;
  • overflow-x: hidden 它隐藏了滚动条,但仍然允许通过滑动来滚动
  • @RoryMcCrossan,我应该在哪里添加溢出-x:隐藏?
  • @RoryMcCrossan,让我试试这个
  • 你已经包含了它,但是你已经把它设置为scroll。将其更改为隐藏

标签: javascript jquery html css media-queries


【解决方案1】:

overflow-x: hidden; 将解决您的问题。在身体上,而不是在容器上。请参阅下面的更新答案:

.aboutlinks ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.aboutlinks ul li {
  display: inline-block;
  margin: 15px;
  border: 1px solid #000;
}

.aboutlinks ul li a {
  padding: 6px 25px;
  display: block;
}

@media all and (max-width: 768px) {
  body{
    overflow-x: hidden; // add this part
  }
  .aboutlinks ul {
    display: flex;
    //dont put any overflow here
  }
}
<div class="aboutlinks">
  <ul class="smothscrollclass">
    <li><a href="" class="">ABCDE</a></li>
    <li><a href="">FGHIJ</a></li>
    <li><a href="">KLMNO</a></li>
    <li><a href="">PQRST</a></li>
    <li><a href="">UVWX</a></li>
    <li><a href="">XY</a></li>
  </ul>
</div>

【讨论】:

  • 给我一些时间检查
  • 它对你有用吗?因为它在我这边不起作用。我的列表是固定的,当我刷卡时什么都没有发生。
  • 更新了答案,将overflow-x移动到body而不是.aboutlinks ul –
  • 但水平滚动条显示在底部。
  • 我没有看到任何水平滚动条。在此处运行脚本。你看到任何水平滚动条了吗?我在 firefox、chrome、safari 上看不到任何内容
【解决方案2】:

使用::-webkit-scrollbar CSS 伪元素(适用于webkit 浏览器)scrollbar-color 属性(适用于Firefox)

.aboutlinks ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.aboutlinks ul li {
  display: inline-block;
  margin: 15px;
  border: 1px solid #000;
}

.aboutlinks ul li a {
  padding: 6px 25px;
  display: block;
}

@media all and (max-width: 768px) {
  .aboutlinks ul {
    display: flex;
    overflow-x: auto;
  }
  .no-scrollbar {
    scrollbar-color: transparent transparent;  
  }
  .no-scrollbar::-webkit-scrollbar {
    height: 0px;
  }
  .no-scrollbar::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0);
  }
  .no-scrollbar::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0);
    -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0);
  }
  .no-scrollbar::-webkit-scrollbar-thumb:window-inactive {
    background: rgba(0, 0, 0, 0);
  }
}
<div class="aboutlinks">
  <ul class="smothscrollclass no-scrollbar">
    <li><a href="" class="">ABCDE</a></li>
    <li><a href="">FGHIJ</a></li>
    <li><a href="">KLMNO</a></li>
    <li><a href="">PQRST</a></li>
    <li><a href="">UVWX</a></li>
    <li><a href="">XY</a></li>
  </ul>
</div>

注意:使用shift + mouse wheeltouch gesture滚动

【讨论】:

  • 感谢您的回答,给我一些时间用我的代码实现您的回答。我会在一段时间内更新你。
  • 我还没有测试你的代码..由于一些问题。我会在这里更新。
猜你喜欢
  • 1970-01-01
  • 2017-06-26
  • 2013-04-23
  • 1970-01-01
  • 1970-01-01
  • 2017-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多