Customize website’s scrollbar with CSS

Three lines of CSS code can make your website’s scrollbar looks like Mac OS’s one

Hyouk Seo
spemer
3 min readJan 5, 2018

--

Normal scrollbar(left) and customized one(right) on Chrome browser

Although scrollbar has just small area on the web browser, to me — as interface designer — it’s not that tiny, nor okay to ignore. If you’re true nerd that care about every details, this short tutorial would be helpful for you.

Start off

To customize your website’s scrollbar, there’s only few lines of code in your stylesheet needed. You don’t even need to write JavaScript to customize it! Following code snippet shows CSS code to customize web browser’s scrollbar.

You need to use -webkit- vendor prefix to run this CSS code

Customizing web browser’s scrollbar is non standard method to styling, so you need to use -webkit- vendor prefix to use pseudo-elements above. Only Webkit browsers(e.g., Chrome, Safari) support this properties. Other browsers like Firefox or IE don’t support this method.

/* IMGUR */

Pseudo-Elements

You can use 7 different pseudo-elements to customize web browser’s scrollbar. See the code snippet below:

I used ::-webkit-scrollbar, ::-webkit-scrollbar-track and ::-webkit-scrollbar-thumb for this tutorial. Each properties need value inside the brackets.

CodePen

See how it works on CodePen below. If you try this code on IE or Firefox, this code will not run and JavaScript will return alternative text on div box.

CodePen: https://codepen.io/Spemer/pen/baoKPK

From my stylesheet

I wrote only three lines of CSS code to customize my website’s scrollbar. These methods don’t need a single line of JavaScript code, super simple and easy to use. Check out link below to watch on live website!

How I did for my website

See live version on my website: https://spemer.com, or check my CSS code on my GitHub (line 75 to 82)

Applications

If you’re using GitHub Gist code snippets on your own website, It’s available to customize it’s scrollbar either like image below. We can apply this method anywhere if we know the classname or ID of the elements, which we’re going to customize them.

Captured from my website

Gist’s code snippet uses classname .blob-wrapper for it’s scrollbar, so we can customize it with that. Copy and paste the CSS code above will make your Gist code snippet’s scrollbar just like the image above.

Can I use?

At this point in my writing this article today(January 5, 2018), search result on caniuse.com says 87.07% of browsers support for ::-webkit-scrollbar pseudo-elements. You can check the latest report on caniuse.com.

Usage report from caniuse.com

Again, this method only works on Webkit browsers with vendor prefix, *NOT* working on the other browsers. Thank you for reading my article, hope you enjoyed.

--

--