Click here to Skip to main content
15,881,715 members
Articles / Web Development / HTML
Tip/Trick

Customize Scrollbars using CSS3

Rate me:
Please Sign up or sign in to vote.
4.89/5 (29 votes)
26 Oct 2013CPOL1 min read 388.9K   6.8K   20   21
A step by step guide for creating cool scrollbars for website

Introduction

In this tip, we will learn How to Customize Scrollbars using CSS3. Today, more than 55% people use Chrome + Safari as their Web Browser. The common thing in these browser is that both are supported by Webkit platform. Customization of scrollbar is very easy using CSS3, but Custom Scrollbars are supported by Webkit Browsers. Don't worry, as we know that more than 55% of browser marketplace is covered by webkit platform based browser (i.e., Chrome and Safari) which is also a great thing.

Before going to start, we will see Structure of Scrollbar:

image1

Let's Start

Create HTML Document

HTML
 <div class="scrollbar" id="ex3">
    <div class="content">Example 3</div>
</div> 

CSS Stylesheet

Firstly, we set the .scrollbar (class) width, height, background-color. We set overflow-y:scroll for getting vertical scrollbar. Then set .content div height more than .scrollbar so that scrollbar appears (because we used overflow-y property to scroll in .scrollbar class).

CSS
.scrollbar{
width:150px;
height:300px;
background-color:lightgray;
margin-top:40px;
margin-left:40px;
overflow-y:scroll;
float:left;
}
.content{
height:450px;
} 

Preview

image2

After that, we use scrollbar pseudo-element for creating custom scrollbar. When we use scrollbar pseudo-element, it will turn off its default scrollbar and a scrollbar is appeared with 16px width and background-color:#cccccc.

CSS
#ex3::-webkit-scrollbar{
width:16px;
background-color:#cccccc;
} 

Preview

Image 3

As we know that Scrollbar contains Track, Button and Thumb.

In the next step, we are going to give a stylish look to thumb. We use pseudo-element (i.e. scrollbar-thumb) with webkit prefix. Set scrollbar-thumb background- color,border-radius. We also change the color for mouse hovering and active(on clicking).

CSS
#ex3::-webkit-scrollbar-thumb{
background-color:#B03C3F;
border-radius:10px;
}
#ex3::-webkit-scrollbar-thumb:hover{
background-color:#BF4649;
border:1px solid #333333;
}
#ex3::-webkit-scrollbar-thumb:active{
background-color:#A6393D;
border:1px solid #333333;
} 

After that, the Scrollbar looks like this:

Preview

Image 4

We set border and border-radius of scrollbar-track and use box-shadow to make it stylish.

CSS
#ex3::-webkit-scrollbar-track{
border:1px gray solid;
border-radius:10px;
-webkit-box-shadow:0 0 6px gray inset;
} 

Final Preview

Image 5

Using the above procedure, I have created some other scrollbars. I am providing the source code of others for downloading.

Preview

Image 6

That's all. Hope you like it.

Thanks.

My Other Posts (Tip and Tricks)

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Student
India India

Comments and Discussions

 
Bug[My vote of 1] Firefox not Work Pin
Member 122421123-Jan-16 19:17
Member 122421123-Jan-16 19:17 
GeneralRe: [My vote of 1] Firefox not Work Pin
Anoop Kr Sharma4-Jan-16 4:19
professionalAnoop Kr Sharma4-Jan-16 4:19 
Bugsource code is not working Pin
Member 1146312518-Feb-15 19:26
Member 1146312518-Feb-15 19:26 
AnswerRe: source code is not working Pin
Anoop Kr Sharma19-Feb-15 6:40
professionalAnoop Kr Sharma19-Feb-15 6:40 
Questionnot working with firefox new version Pin
Member 1122665011-Nov-14 20:44
Member 1122665011-Nov-14 20:44 
QuestionIs it working in all browser? Pin
HardikPatel.SE10-Jun-14 2:14
professionalHardikPatel.SE10-Jun-14 2:14 
AnswerRe: Is it working in all browser? Pin
Anoop Kr Sharma10-Jun-14 6:12
professionalAnoop Kr Sharma10-Jun-14 6:12 
GeneralRe: Is it working in all browser? Pin
HardikPatel.SE10-Jun-14 21:22
professionalHardikPatel.SE10-Jun-14 21:22 
GeneralMy vote of 4 Pin
niral bhalodia24-Apr-14 0:18
niral bhalodia24-Apr-14 0:18 
GeneralExcellent! Pin
Zurkinden Phlipp25-Mar-14 9:30
Zurkinden Phlipp25-Mar-14 9:30 
GeneralRe: Excellent! Pin
Anoop Kr Sharma25-Mar-14 17:58
professionalAnoop Kr Sharma25-Mar-14 17:58 
Questionscroll bar code Pin
Member 1048988619-Mar-14 1:58
Member 1048988619-Mar-14 1:58 
AnswerRe: scroll bar code Pin
Anoop Kr Sharma19-Mar-14 16:49
professionalAnoop Kr Sharma19-Mar-14 16:49 
Questionhow to write an onmouseout event with this? Pin
Member 1046665427-Dec-13 15:46
Member 1046665427-Dec-13 15:46 
QuestionCode not working Pin
Member 1047226317-Dec-13 4:04
Member 1047226317-Dec-13 4:04 
AnswerRe: Code not working Pin
Anoop Kr Sharma17-Dec-13 4:24
professionalAnoop Kr Sharma17-Dec-13 4:24 
GeneralRe: Code not working Pin
Member 1070055526-Mar-14 1:05
Member 1070055526-Mar-14 1:05 
GeneralMy vote of 5 Pin
Brian A Stephens28-Oct-13 7:42
professionalBrian A Stephens28-Oct-13 7:42 
GeneralRe: My vote of 5 Pin
Anoop Kr Sharma28-Oct-13 16:18
professionalAnoop Kr Sharma28-Oct-13 16:18 
Thanx Smile | :)
SuggestionCSS Compatibility Pin
MehdiNaseri27-Oct-13 19:04
professionalMehdiNaseri27-Oct-13 19:04 
GeneralRe: CSS Compatibility Pin
Anoop Kr Sharma27-Oct-13 20:38
professionalAnoop Kr Sharma27-Oct-13 20:38 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.