### Frequently Asked Questions

Here you will hopefully gain answers for questions you'll most likely asking yourself.
Is it possible to limit / adjust the scrollbar-handle length?
Yes. You can adjust the min- or max-length of the scrollbar-handle via CSS.
Please read this article for further information.
Is it possible to change the position and length of my scrollbars?
Yes. You can adjust the position of the scrollbars via CSS.
Please read this article for further information.
Can I click on the scrollbar-track to scroll to a certain offset?
Yes. This feature is called `clickScrolling` and can be activated with the option:

    scrollbars : {
        clickScrolling : true
    }

The default value for this option is `false`.
If you press the left mouse button on the red scrollbar-track, the scroll-offset will be animated until the destination has been reached or you release the button.
You can modify the scroll-animation with the following keys:

- Press `shift` while clicking and no animation will occur and the offset changes instantly.
- Press `ctrl` and `shift` while clicking and a animation with fixed (very low) duration will occur and the offset changes nearly instantly.

`clickScrolling : true`
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
How can I achieve space between the scrollbars and my content?
This is something I get asked very often. For this problem to solve I've created the `paddingAbsolute` option.
Set the option `paddingAbsolute : true` and adjust the padding of your target element as you like.
Below you have two example elements with `padding : 20px` each. The left element has absolute and the right element has normal padding.
`paddingAbsolute : true`
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
`paddingAbsolute : false`
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
Does the plugin provide a "scrollTo" method?
Yes. The scroll method offers such a functionality. The API is a bit different to the scrollTo method, but the functionality is the same.
Actually, the method is capable of much more than its native counterpart. For example you can use relative coordinates, custom animation-duration, custom animation-easing and more.

    var element = document.getElementById("box");

    //scrolls 50px on the y axis
    instance.scroll({ y : 50 });

    //scrolls 50px on both axis and performs a smooth scroll animation
    instance.scroll({ y : 50, x : 50 }, 1000);

    //adds 50 pixel to the vertical- and subtracts 50 pixel from the horizontal-scroll-offest
    instance.scroll({ y : "+=50", x : "-=50" });

    //scrolls to 50% on both axis and performs a smooth scroll animation with custom easing
    instance.scroll({ y : "50%", x : "50%" }, 1000, "easeOutElastic");

Does the plugin provide a "scrollIntoView" method?
Yes. The scroll method offers such a functionality. The API is a bit different to the scrollIntoView method, but the functionality is the same.
Actually, the method is capable of much more than its native counterpart, please read the documentation to get further information.
Below you can see some examples:

    var element = document.getElementById("box");

    //equivalent to element.scrollIntoView():
    instance.scroll({ el : element, block : { y : "begin", x : "nearest" } });

    //equivalent to element.scrollIntoView() but with a smooth animation:
    instance.scroll({ el : element, block : { y : "begin", x : "nearest" } }, 1000);

    //equivalent to element.scrollIntoView(false):
    instance.scroll({ el : element, block : { y : "end", x : "nearest" } });

    //equivalent to element.scrollIntoView({ block: "center", inline: "nearest"}):
    instance.scroll({ el : element, block : { y : "center", x : "nearest" } });

    //equivalent to element.scrollIntoView({ block: "start", inline: "start"}):
    instance.scroll(element);

Does the plugin provide a "scrollIntoViewIfNeeded" method?
Yes. The scroll method offers such a functionality. The API is a bit different to the scrollIntoViewIfNeeded method, but the functionality is the same.
Actually, the method is capable of much more than its native counterpart, please read the documentation to get further information.
Below you can see some examples:

    var element = document.getElementById("box");

    //equivalent to element.scrollIntoViewIfNeeded():
    instance.scroll({ el : element, scroll : "ifneeded", block : "nearest" });

    //equivalent to element.scrollIntoViewIfNeeded() but with a smooth animation:
    instance.scroll({ el : element, scroll : "ifneeded", block : "nearest" }, 500);

    //equivalent to element.scrollIntoViewIfNeeded(true):
    instance.scroll({ el : element, scroll : "ifneeded", block : { y : "nearest", x : "center" }  });

How can I get the current scroll position?
Next to many other values the scroll offset gets returned by the scroll method.

    var scrollInfo = instance.scroll();

    //equivalent to the scrollLeft value
    var scrollLeft = scrollInfo.position.x;

    //equivalent to the scrollTop value
    var scrollTop = scrollInfo.position.y;

If the native scrollbars are already overlaid I don't want the plugin to be initialized.
If you don't want to initialize the plugin if the native scrollbars are already overlaid (for example like in mobile browsers, or UNIX operating systems), I've created the option `nativeScrollbarsOverlaid.initialize`. The default value is `true`, but if you set it to `false` the plugin won't initialize in such a environment.
A very important thing to note here is, that if an initialization gets cancelled because of this option, the callback `onInitializationWithdrawn` will be triggered, in order to make it easier for you to handle this case in your code.
How do I handle animations correctly?
The plugin updates the everytime it detects a breaking change in the DOM. Javascript-animations are doing very heavy and frequent DOM changes.
In order to gain the maximum performance, call the sleep method before your animation begins, so the plugin won't update automatically during the animation.
After your animation has ended call the update method to re-activate the plugin.
How do I use the plugin inside a flexbox layout?
It's a bit tricky to make the plugin work in every flexbox layout since the flexbox implementation differs in every browser. I believe the current functionality covers about 90% of all flexbox cases.
Please read this article to get further information about how to use the plugin inside a flexbox-layout correctly.

### Plugin Comparison

On the internet you'll find many scrollbar plugins. Below I've compared the features of a few of them.
Hover or click on certain entries to see additional information or a description.
If I've made a mistake or if you want to enhance this table, please feel free to open a issue on github.
The Github information were refreshed on: ?
The table was last edited on: July 25, 2018 - 16:02

| OverlayScrollbars | Simplebar | perfect-scrollbar | gemini-scrollbar | nanoScrollerJS | Smooth Scrollbar | Optiscroll | jQuery.NiceScroll | malihu custom scrollbar plugin | jScrollPane
Github: |  |  |  |  |  |  |  |  |  |
Github - stars |  |  |  |  |  |  |  |  |  |
Github - open issues |  |  |  |  |  |  |  |  |  |
Github - created |  |  |  |  |  |  |  |  |  |
Github - is archived |  |  |  |  |  |  |  |  |  |
Github - license |  |  |  |  |  |  |  |  |  |
Tech: |  |  |  |  |  |  |  |  |  |

Browser Support

IE 8+ | Firefox | Chrome | Opera | Edge | Safari 6+IE 8+

IE 11 | Firefox | Chrome | Opera | Edge | Safari
More info for IE10 and below IE 11+

IE 11 | Firefox | Chrome | Opera | Edge | Safari
but may have some issues in IE11" IE 11+

IE 9+ | Firefox | Chrome | Opera | Edge | Safari IE 9+

IE 7+ | Firefox 3+ | Chrome | Safari 4+ | Opera 11.60+
check it out here IE 7+

IE 10+ | Firefox 16+ | Chrome 22+ | Safari 8+
check it out here IE 10+

IE 11+ | Firefox | Chrome | Opera | Edge | Safari IE 11+

IE 8+ | Firefox | Chrome | Opera | Edge | Safari IE 8+

IE 8+ | Firefox | Chrome | Opera | Safari
check it out here IE 8+

IE 8+ | Firefox | Chrome | Opera | Edge | Safari IE 8+

Dependencyless | Also has an optional jQuery version. |  |  |  | jQuery is required |  | Can be used with jQuery. (optional) | jQuery is required | jQuery is required |
Uses native Scrolling |  |  |  |  |  |  |  |  |  |
Uses animated Scrolling |  |  |  |  |  |  |  |  |  |
The plugin doesn't wrap your content and no special DOM setup is needed.Works without content wrapping |  |  |  |  |  |  |  |  |  |
The plugin doesn't automatically run an infinity loop to check for DOM changes.Doesn't require timer or loop for updating |  |  |  |  |  |  |  |  |  |
Options changeable during runtime |  |  |  |  |  |  |  |  |  |
Uses CSS3 Transform to move handle if supported |  |  |  |  |  |  |  |  |  |
Possibility to write Extensions / Plugins |  |  |  |  |  |  |  |  |  |
Possible to scroll to a element with a certain ID. If you search text, the browser scrolls / jumps directly to the destination.Anchor scrolling |  |  |  |  |  |  |  |  |  |
Support: |  |  |  |  |  |  |  |  |  |
Supports Textarea-Element |  |  |  |  |  |  |  |  |  |
Supports Body-Element |  |  |  |  |  |  |  |  |  |
Supports Touch |  |  |  |  |  |  |  |  |  |
The plugin is able to handle native-overlaid (not space consuming) scrollbars.Supports native overlaid scrollbars | Even provides extra options to handle this case. |  |  | The plugin won't initialize if the native scrollbars are overlaid. |  |  |  |  |  |
Supports Direction-RTL |  |  |  |  |  |  |  |  |  |

If you change the native browser zoom.Supports Browser Zoom

The native scrollbars will appear if you zoom.

The native scrollbars will appear if you zoom.

The plugin restricts the Zoom with Ctrl + Scroll.

The native scrollbars will appear if you zoom.

The plugin restricts the Zoom with Ctrl + Scroll.
You can only zoom if the scroll position is zero or maximum, else you will scroll.

You can change the scroll-offset by clicking on the scrollbar-track.Supports click-scrolling |  |  |  |  |  |  |  |  |  |
You can change the scroll-offset by dragging the scrollbar-handle.Supports drag-scrolling |  |  |  |  |  |  |  |  |  |

It's possible to initialize the plugin inside an iFrame from the outside.Supports iFrames

The plugin initializes but it looks messed up and you can't scroll via dragging the handles.
It's buggy and you can tell this feature isn't supported.

The plugin initializes and looks alright.
But you can't scroll via dragging the handles.
iFrame support isn't mentioned anywhere.

The plugin initializes.
The plugin deosn't inject its default styles into the iframe.
You can't scroll with dragging the handles.
iFrame support isn't mentioned anywhere.

The plugin initializes and looks alright.
But you can't scroll via dragging the handles.
iFrame support isn't mentioned anywhere.

Everything worked, but in my test-case the horizontal scrollbar was out of place.

The plugin won't initialize properly.
In older versions the plugin initializes but scrolling is only
possible vertically and you can't scroll via dragging the handles.

The plugin initializes and looks alright.
But you can't scroll with dragging the handles.
iFrame support isn't mentioned anywhere.

Supports nesting |  |  |  |  | It works but has one bug if you use a certain option. |  |  |  |  |
Scrollbar styling: |  |  |  |  |  |  |  |  |  |
Adjustable scrollbar handle min-length | Via CSS-styling in all CSS units. | Via plugin-options, only in pixels. | Via plugin-options, only in pixels. | Via plugin-options, only in pixels. | Via plugin-options, only in pixels. | Via plugin-options, only in pixels. | Via plugin-options, only in percent. | Via plugin-options, only in pixels. |  | Via plugin-options, only in pixels.
Adjustable scrollbar handle max-length | Via CSS-styling in all CSS units. |  | Via plugin-options, only in pixels. |  | Via plugin-options, only in pixels. |  | Via plugin-options, only in percent. |  |  | Via plugin-options, only in pixels.
Scrollbar handle can have fixed length |  |  |  |  |  |  |  | Via plugin-options. | Via plugin-options. |
Adjustable scrollbar-length | Via CSS-styling in all CSS units. | Via CSS-styling in all CSS units. |  | Via CSS-styling in all CSS units. | Via CSS-styling in all CSS units. |  | Via CSS-styling in all CSS units. |  |  |
The plugin provides a option to hide the scrollbars if the user is inactive or if a certain event happens.Scrollbars auto-hide possibility |  |  |  |  |  |  |  |  |  |
The plugin provides a documented possibility to use arrow buttons in the scrollbars.Scrollbar arrow buttons |  |  |  |  |  |  |  |  |  |
Goodies: |  |  |  |  |  |  |  |  |  |
scrollTo-like method |  |  |  |  |  |  |  |  |  |
scrollIntoView-like method |  |  |  |  |  |  |  |  |  |
scrollIntoViewIfNeeded-like method |  |  |  |  |  |  |  |  |  |
Provides CSS3 resize functionality |  |  |  |  |  |  |  |  |  |
A feedback or an animation if you reached the minimum or maximum scroll offset.Overscroll animation / feedback |  |  |  |  |  |  |  |  |  |