Удалите HTML-полосы прокрутки, но разрешите прокрутку в мыши.

Возможный дубликат:
Как отключить панель прокрутки браузера или элемента, но разрешить прокрутку с помощью колесика или клавиш со стрелками?

Мне удалось отключить вертикальные полосы прокрутки в сетке, установив свойство CSS overflow-y: hidden. Однако это удалило возможность прокрутки содержимого с помощью колеса мыши.

Есть ли способ не показывать полосы прокрутки, но все же разрешить прокрутку содержимого через колесико мыши или клавиши со стрелками?

Ответ 1

Существуют методы Javascript, см. поток, который вы дублировали.

Лучшим решением является установка целевого div на переполнение: прокрутка и перенос его во второй элемент, который на 8px уже, кто переполняется: hidden.

У целевого элемента будет скрытая полоса прокрутки. Колесо мыши будет работать, но полоса прокрутки не будет отображаться.

<div style='overflow:hidden; width:200px;'>
   <div style='overflow:scroll; width:208px'>
      My mousewheel scrollable content here....
   </div>
</div>

Обратите внимание, что 8px в качестве ширины полосы прокрутки является случайным числом - это, вероятно, намного больше, и это может потребоваться для каждого браузера CSS.

Еще лучше, чем JS в моей книге.

Ответ 2

Вы можете использовать jScrollPane, который позволяет заменить полосы прокрутки браузера на пользовательские:

Поскольку вы можете стилизовать эти пользовательские полосы прокрутки с помощью CSS, вы можете легко их удалить (попробуйте что-то вроде: .jScrollPaneTrack { display: none; })