【问题标题】:Hide Horizontal Scroll Bar but make data scroll horizontally隐藏水平滚动条但使数据水平滚动
【发布时间】:2017-06-26 07:37:13
【问题描述】:

我想制作图像滚动器,其中图像可以水平滚动,但不希望水平滚动条在滚动时可见。 下面是我的codepen的链接..

http://codepen.io/rajMrPerfect/pen/PWewRM?editors=0100

<div class="scroll">
   <img src="http://placehold.it/100x100" />
   <img src="http://placehold.it/100x100" />
   <img src="http://placehold.it/100x100" />
   <img src="http://placehold.it/100x100" />
   <img src="http://placehold.it/100x100" />
   <img src="http://placehold.it/100x100" />
   <img src="http://placehold.it/100x100" />
   <img src="http://placehold.it/100x100" />
   <img src="http://placehold.it/100x100" />
   <img src="http://placehold.it/100x100" />
   <img src="http://placehold.it/100x100" />
   <img src="http://placehold.it/100x100" />
  </div>

.scroll {
    height: 180px;
    margin: auto;
    overflow-x: auto;
    overflow-y:hidden;
    white-space: nowrap;
    box-shadow: 0 0 10px #000;  
    img {
        margin: 20px 10px 0 10px;
    }
}

【问题讨论】:

  • 如果没有滚动条,你希望它如何滚动?
  • 我想像普通滚动条一样滚动但隐藏滚动条。
  • 那么用户交互会是什么?鼠标滚轮?拖动不可见的滚动条?
  • 这有点像拖动一个不可见的滚动条

标签: javascript html css angularjs less


【解决方案1】:

如果你想要一个不可见的滚动条,你需要一些 JavaScript 代码来处理滚动。

我会使用:https://github.com/asvd/dragscroll

然后:

.scroll {
  height: 180px;
  margin: auto;
  overflow: hidden;
  white-space: nowrap;
  box-shadow: 0 0 10px #000; 
}

img {
  margin: 20px 10px 0 10px;
}
<script src="http://asvd.github.io/dragscroll/dragscroll.js"></script>
<div class="scroll  horizontal dragscroll">
   <img src="http://placehold.it/100x100" />
   <img src="http://placehold.it/100x100" />
   <img src="http://placehold.it/100x100" />
   <img src="http://placehold.it/100x100" /><img      src="http://placehold.it/100x100" />
   <img src="http://placehold.it/100x100" /><img     src="http://placehold.it/100x100" />
   <img src="http://placehold.it/100x100" /><img src="http://placehold.it/100x100" />
   <img src="http://placehold.it/100x100" /><img  src="http://placehold.it/100x100" />
   <img src="http://placehold.it/100x100" />
  </div>

【讨论】:

  • 感谢兄弟的大力帮助。
【解决方案2】:

试试:https://owlcarousel2.github.io/OwlCarousel2/demos/responsive.html

在上面的示例中,项目可以通过“鼠标单击并拖动”滚动,但您可以通过绑定到鼠标滚轮来扩展滚动。

【讨论】:

    【解决方案3】:

    .scroll {
      height: 180px;
      margin: auto;
      overflow: hidden;
      white-space: nowrap;
      box-shadow: 0 0 10px #000; 
    }
    
    img {
      margin: 20px 10px 0 10px;
    }
    <script src="http://asvd.github.io/dragscroll/dragscroll.js"></script>
    <div class="scroll  horizontal dragscroll">
       <img src="http://placehold.it/100x100" />
       <img src="http://placehold.it/100x100" />
       <img src="http://placehold.it/100x100" />
       <img src="http://placehold.it/100x100" /><img      src="http://placehold.it/100x100" />
       <img src="http://placehold.it/100x100" /><img     src="http://placehold.it/100x100" />
       <img src="http://placehold.it/100x100" /><img src="http://placehold.it/100x100" />
       <img src="http://placehold.it/100x100" /><img  src="http://placehold.it/100x100" />
       <img src="http://placehold.it/100x100" />
      </div>

    .scroll {
      height: 180px;
      margin: auto;
      overflow: hidden;
      white-space: nowrap;
      box-shadow: 0 0 10px #000; 
    }
    
    img {
      margin: 20px 10px 0 10px;
    }
    <script src="http://asvd.github.io/dragscroll/dragscroll.js"></script>
    <div class="scroll  horizontal dragscroll">
       <img src="http://placehold.it/100x100" />
       <img src="http://placehold.it/100x100" />
       <img src="http://placehold.it/100x100" />
       <img src="http://placehold.it/100x100" /><img      src="http://placehold.it/100x100" />
       <img src="http://placehold.it/100x100" /><img     src="http://placehold.it/100x100" />
       <img src="http://placehold.it/100x100" /><img src="http://placehold.it/100x100" />
       <img src="http://placehold.it/100x100" /><img  src="http://placehold.it/100x100" />
       <img src="http://placehold.it/100x100" />
      </div>

    【讨论】:

      【解决方案4】:

      这应该适用于 Chrome

      ::-webkit-scrollbar,
          *::-webkit-scrollbar {
              display: none;
          }
      

      另一种解决方案将是(不是真正最佳的)

      -webkit-scrollbar {
          height: 0;
          width: 0;
      }
      

      【讨论】:

      猜你喜欢
      • 2017-11-06
      • 2013-04-23
      • 1970-01-01
      • 2020-10-18
      • 1970-01-01
      • 1970-01-01
      • 2011-02-05
      • 1970-01-01
      • 2011-06-18
      相关资源
      最近更新 更多