gromo / jquery.scrollbar

jQuery CSS Customizable Scrollbar
GNU General Public License v2.0
756 stars 238 forks source link

Различия в поведении нативного и кастомного скролла #80

Closed Evangeline-Rei closed 8 years ago

Evangeline-Rei commented 8 years ago

Существуют различия в поведении между нативным скроллом и вашим кастомным.

Всё дело в обрезанном контенте либо в контенте с max-height. нативный скролл, как и положено, не отображается, если контент внутри дива обрезан, при том, что родительский див имеет высоту и ширину в 100%, либо вообще любые другие размеры, не превышающие размеры самого контейнера со скроллом.

Ваш же скролл не реагирует на параметры max-height и на сам по себе обрезанный контент и отрабатывает, при этом в стайле он указывает height: auto и max-height: N, чего быть не должно. По-хорошему height при таких ситуациях должна быть не auto а такой же, как если бы наш контент по размеру не превышал размеры самого контейнера со скроллом. Очень прошу починить эту неприятность.

Вот пример работы

https://fiddle.jshell.net/temo6yd6/6/

Первые 4 контейнера с нативным скроллом, вторые 4 контейнера с кастомным скроллом

gromo commented 8 years ago

Эти случаи выходят за рамки функциональности плагина - предусмотреть все ситуации не получится, как и отказаться от height:auto, который нужен для вычисления размера контейнера и его содержимого, чтобы правильно отображать скролл.

В данном случае можно попробовать версию плагина 0.2.7 или более раннюю, в которой используется height, вместо max-height, однако в старых версиях есть баги, о которых нужно помнить.

Evangeline-Rei commented 8 years ago

А если я поставлю некий костыль для конкретных случаев, например https://fiddle.jshell.net/temo6yd6/13/

Продолжит ли всё корректно работать?

gromo commented 8 years ago

А нужен ли скролл на таком типе элементов? Будут ли внутри данные, которые нужно проскролливать? Я думаю, что данные костыли делают кастомный скроллбар бесполезным.