Удалите 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; }
)