【问题标题】:overflow:scroll not showing a disabled scroll on Chrome Mobile溢出:滚动未在 Chrome 移动设备上显示禁用的滚动
【发布时间】:2017-07-11 02:44:10
【问题描述】:

当我将overflow: scroll 设置为 div 时,我希望即使内容不滚动(出于设计目的)也会有一个滚动条

但是当不需要滚动时,chrome mobile 还是会隐藏滚动条。

.div-scroll{
  background-color: red;
  height: 300px;
  overflow-y: scroll;
}
.div-inner {
  background-color: blue;
  height: 200px;
}
<div class="div-scroll">
  <div class="div-inner">
  </div>
</div>

我想在内容不滚动时在 Chrome Mobile 上显示禁用的滚动,或者至少是从纯 CSS 中知道它不滚动的一种方式,以避免使用 width: calc(100% - 17px);

Fiddle

【问题讨论】:

标签: html css mobile-chrome


【解决方案1】:

在 webkit 浏览器上有一个永久滚动条,您可以使用 ::webkit-scrollbar ::webkit-scrollbar-thumb 属性并自定义它们。

参考以下代码:

.filter-list {
  width: 75px;
  height: 100px;
  overflow: auto;
}

.filter-list::-webkit-scrollbar,
.filter-list::-webkit-scrollbar,
.filter-list::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 15px;
}

.filter-list::-webkit-scrollbar-thumb,
.filter-list::-webkit-scrollbar-thumb,
.filter-list::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: lightgray;
  box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
}
<div class="filter-list">
  <div> Hello </div>
  <div> World </div>
  <div> Hello </div>
  <div> World </div>
  <div> Hello </div>
  <div> World </div>
  <div> Hello </div>
  <div> World </div>
  <div> Hello </div>
  <div> World </div>
</div>

【讨论】:

  • 我不想重新制作整个滚动条,我只想强制宽度为17px,但是当我使用.div-scroll::-webkit-scrollbar { width: 17px; }时,它会删除滚动条。
  • 可能是因为宽度不够。检查我修改了滚动条宽度的编辑答案。
  • 我怎样才能保持浏览器的默认值,只改变宽度?
  • 您无法自定义内置浏览器的滚动条。 webkit 浏览器为您提供的是使用 -webkit-scrollbar 来玩弄自己的 css。
猜你喜欢
  • 2016-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-25
相关资源
最近更新 更多