Improve the Quality of the Scrolling Experience with Custom CSS Scrollbars

2 years ago

3 min read

Posted by:

Focus

Subscribe to newsletter

By subscribing you agree to with our Privacy Policy.

Share

Hello guys! Have you ever thought about how to improve the appearance of the scrollbar on your website page? A good scrollbar will make the user experience not only smooth but also more aesthetic. In this post, I will discuss how to customize scrollbars using CSS.

The following is a CSS code snippet that you can use to customize the appearance of the scrollbar on screens that have a device width of at least 767px:

Light Mode:

@media only screen
and (min-device-width: 767px)
{
/* width */
::-webkit-scrollbar {
  width: 18px;
}

/* Track */
::-webkit-scrollbar-track {
  background: #181818;

}

/* Handle */
::-webkit-scrollbar-thumb {
  background: #888;
	border-radius: 9px;
box-shadow: inset 0 0 10px 10px #888;
    border: solid 4px #181818;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #A1A1A1;
	box-shadow: inset 0 0 10px 10px #A1A1A1;
    border: solid 4px #181818;
}
}

Using the code above will help you:

  • Set the scrollbar width to 13px
  • Changed the background color of the scrollbar track to #F0F0F0
  • Change the appearance of the scrollbar handle with a white background, 9px radius, gray box-shadow, and a 3px border colored #F0F0F0
  • Adds a soft effect to the scrollbar handle when the user hovers over it with a colored background #e5e5e5, box-shadow #B1B1B1, and border #F0F0F0


Dark Mode

If your project required a dark color scroll bar, please use this one below:

@media only screen
and (min-device-width: 767px)
{
/* width */
::-webkit-scrollbar {
  width: 18px;
}

/* Track */
::-webkit-scrollbar-track {
  background: #181818;

}

/* Handle */
::-webkit-scrollbar-thumb {
  background: #888;
	border-radius: 9px;
box-shadow: inset 0 0 10px 10px #888;
    border: solid 4px #181818;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #A1A1A1;
	box-shadow: inset 0 0 10px 10px #A1A1A1;
    border: solid 4px #181818;
}
}

Keep in mind that the code above only works on browsers that support the CSS ::-webkit-scrollbar syntax (such as Chrome, Safari, and Opera). For other browser support, you may need to look for another solution.

Hopefully this information is useful for those of you who are looking for ways to improve the appearance of your website. Good luck and always success on your web projects!

Read more

Troubleshoot

< 1 min read

How to Fix Critical Error when Adding a New Site on WordPress Multisite

If you have ‘Delete Duplicate Posts’ plugin, deadactivate it, and then see if that fixes the problem. Otherwise, try to

Read more

Post Widget

2 min read

How to Make Post Widget’s White Space Clickable (+Popup)

Go to Dashboard > Elementor > Custom Code. And then add this code to make the whole space/box/card of the

Read more

Text Widget

< 1 min read

Add Punctuation (…) at the End of Headings

Add this code to add three dots (…) at the end of your ‘Headings’. Replace the three dots between the

Read more

Video

< 1 min read

How to Make Play Icon on Image Overlay Smaller (Elementor Video Playlist Widget)

If you activate the image overlay, there is an option to show play icon. And the default play icon for

Read more

See How It Works

Create better websites, faster.

Download the Entire Library

Adaptative, neutrally designed components.

Customer Service

Focus Website

Today, October 15

Hi, there 👋

How can I help you?

Start Chat with:

We use cookie to improve your experience on our site. By using our site you consent cookies.