Home Web Front-end Front-end Q&A CSS sets the style of the scroll bar

CSS sets the style of the scroll bar

May 21, 2023 am 10:01 AM

CSS (Cascading Style Sheets) is one of the most frequently used technologies in front-end development, which can achieve rich page visual effects. Among them, custom scroll bar style is also a common requirement. This article will introduce how to use CSS to style scroll bars.

1. Basic scroll bar styles

CSS provides some basic scroll bar style settings. We can add the following attributes to the scroll bar in the style sheet:

/* 垂直滚动条样式 */
/* 宽度 */
::-webkit-scrollbar {
    width: 12px;
}
/* 背景色 */
::-webkit-scrollbar-track {
    background-color: #f5f5f5;
}
/* 滑块颜色 */
::-webkit-scrollbar-thumb {
    background-color: #c1c1c1;
}

/* 水平滚动条样式 */
/* 高度 */
::-webkit-scrollbar {
    height: 12px;
}
/* 背景色 */
::-webkit-scrollbar-track {
    background-color: #f5f5f5;
}
/* 滑块颜色 */
::-webkit-scrollbar-thumb {
    background-color: #c1c1c1;
}
Copy after login
  • ::-webkit-scrollbar: Set the width (or height) of the scroll bar. For vertical scroll bars, the width attribute works; for horizontal scroll bars, the height attribute works.
  • ::-webkit-scrollbar-track: Set the background color of the scroll bar.
  • ::-webkit-scrollbar-thumb: Set the color of the scroll bar slider.

Using the above code, we can add a simple gray style to the scroll bar. However, this style may not be prominent enough to integrate well into the page style. Some more personalized scroll bar style settings will be introduced below.

2. Customize the slider and background color

To customize the slider and background color of the scroll bar, you can use the background attribute to customize these two parts . For example, we can use a gradient effect to render the slider's color from one color value to another.

/* 垂直滚动条样式 */
/* 宽度 */
::-webkit-scrollbar {
    width: 12px;
}
/* 背景 */
::-webkit-scrollbar-track {
    background: linear-gradient(to bottom, #f5f5f5, #e8e8e8);
}
/* 滑块 */
::-webkit-scrollbar-thumb {
    background: linear-gradient(to bottom, #a1a1a1, #6b6b6b);
}

/* 水平滚动条样式 */
/* 高度 */
::-webkit-scrollbar {
    height: 12px;
}
/* 背景 */
::-webkit-scrollbar-track {
    background: linear-gradient(to right, #f5f5f5, #e8e8e8);
}
/* 滑块 */
::-webkit-scrollbar-thumb {
    background: linear-gradient(to right, #a1a1a1, #6b6b6b);
}
Copy after login

The linear gradient of CSS is used here. The gradient effect between the slider and the background color can make the scroll bar style softer.

3. Hide the scroll bar

In some specific circumstances, you may need to hide the scroll bar. At this time, we can use the two properties scrollbar-width and scrollbar-height to set the scroll bar width or height to 0. However, this method can only hide the scroll bar to a certain extent, because when the mouse moves, the scroll bar will still appear automatically and change its position as the mouse moves.

body {
    scrollbar-width: none; /* 隐藏垂直滚动条 */
    -ms-overflow-style: none; /* 隐藏IE/Edge浏览器的垂直滚动条 */
}

/* 设置最外层容器的高度 */
.scroll-container {
    height: 500px;
    overflow-y: scroll; /* 自动出现滚动条 */
}
Copy after login

In the above code, we set scrollbar-width to none to hide the vertical scroll bar. At the same time, in order to make the scroll bar appear automatically, we set the overflow-y property to scroll, so that when the page overflows the container, the scroll bar will automatically appear.

It should be noted that the scroll bar style settings of IE and Edge browsers need to use the -ms-overflow-style attribute, so pay more attention.

4. Customize the rounded corners and shadow effects of the scroll bar

Finally, we can add some more vivid visual effects to the scroll bar, such as rounded corners and shadows. We can use the border-radius property of CSS to control rounded corners, and the box-shadow property to add a shadow effect.

/* 垂直滚动条样式 */
/* 宽度 */
::-webkit-scrollbar {
    width: 12px;
}
/* 背景 */
::-webkit-scrollbar-track {
    background: linear-gradient(to bottom, #f5f5f5, #e8e8e8);
}
/* 滑块 */
::-webkit-scrollbar-thumb {
    background: linear-gradient(to bottom, #a1a1a1, #6b6b6b);
    border-radius: 5px; /* 圆角 */
    box-shadow: inset 0 0 6px rgba(0,0,0,.3); /* 阴影 */
}

/* 水平滚动条样式 */
/* 高度 */
::-webkit-scrollbar {
    height: 12px;
}
/* 背景 */
::-webkit-scrollbar-track {
    background: linear-gradient(to right, #f5f5f5, #e8e8e8);
}
/* 滑块 */
::-webkit-scrollbar-thumb {
    background: linear-gradient(to right, #a1a1a1, #6b6b6b);
    border-radius: 5px; /* 圆角 */
    box-shadow: inset 0 0 6px rgba(0,0,0,.3); /* 阴影 */
}
Copy after login

In the above code, we add rounded corners and shadow effects to the scroll bar slider to make the scroll bar look more three-dimensional.

In short, through the relevant properties of CSS, we can easily customize the style of the scroll bar, thereby making the page more personalized and improving the user experience. The above code is for reference only, readers can design more flexible scroll bar styles according to their own needs.

The above is the detailed content of CSS sets the style of the scroll bar. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

React's Role in HTML: Enhancing User Experience React's Role in HTML: Enhancing User Experience Apr 09, 2025 am 12:11 AM

React combines JSX and HTML to improve user experience. 1) JSX embeds HTML to make development more intuitive. 2) The virtual DOM mechanism optimizes performance and reduces DOM operations. 3) Component-based management UI to improve maintainability. 4) State management and event processing enhance interactivity.

React and the Frontend: Building Interactive Experiences React and the Frontend: Building Interactive Experiences Apr 11, 2025 am 12:02 AM

React is the preferred tool for building interactive front-end experiences. 1) React simplifies UI development through componentization and virtual DOM. 2) Components are divided into function components and class components. Function components are simpler and class components provide more life cycle methods. 3) The working principle of React relies on virtual DOM and reconciliation algorithm to improve performance. 4) State management uses useState or this.state, and life cycle methods such as componentDidMount are used for specific logic. 5) Basic usage includes creating components and managing state, and advanced usage involves custom hooks and performance optimization. 6) Common errors include improper status updates and performance issues, debugging skills include using ReactDevTools and Excellent

React Components: Creating Reusable Elements in HTML React Components: Creating Reusable Elements in HTML Apr 08, 2025 pm 05:53 PM

React components can be defined by functions or classes, encapsulating UI logic and accepting input data through props. 1) Define components: Use functions or classes to return React elements. 2) Rendering component: React calls render method or executes function component. 3) Multiplexing components: pass data through props to build a complex UI. The lifecycle approach of components allows logic to be executed at different stages, improving development efficiency and code maintainability.

React and the Frontend Stack: The Tools and Technologies React and the Frontend Stack: The Tools and Technologies Apr 10, 2025 am 09:34 AM

React is a JavaScript library for building user interfaces, with its core components and state management. 1) Simplify UI development through componentization and state management. 2) The working principle includes reconciliation and rendering, and optimization can be implemented through React.memo and useMemo. 3) The basic usage is to create and render components, and the advanced usage includes using Hooks and ContextAPI. 4) Common errors such as improper status update, you can use ReactDevTools to debug. 5) Performance optimization includes using React.memo, virtualization lists and CodeSplitting, and keeping code readable and maintainable is best practice.

React's Ecosystem: Libraries, Tools, and Best Practices React's Ecosystem: Libraries, Tools, and Best Practices Apr 18, 2025 am 12:23 AM

The React ecosystem includes state management libraries (such as Redux), routing libraries (such as ReactRouter), UI component libraries (such as Material-UI), testing tools (such as Jest), and building tools (such as Webpack). These tools work together to help developers develop and maintain applications efficiently, improve code quality and development efficiency.

What are the benefits of using TypeScript with React? What are the benefits of using TypeScript with React? Mar 27, 2025 pm 05:43 PM

TypeScript enhances React development by providing type safety, improving code quality, and offering better IDE support, thus reducing errors and improving maintainability.

React vs. Backend Frameworks: A Comparison React vs. Backend Frameworks: A Comparison Apr 13, 2025 am 12:06 AM

React is a front-end framework for building user interfaces; a back-end framework is used to build server-side applications. React provides componentized and efficient UI updates, and the backend framework provides a complete backend service solution. When choosing a technology stack, project requirements, team skills, and scalability should be considered.

Frontend Development with React: Advantages and Techniques Frontend Development with React: Advantages and Techniques Apr 17, 2025 am 12:25 AM

The advantages of React are its flexibility and efficiency, which are reflected in: 1) Component-based design improves code reusability; 2) Virtual DOM technology optimizes performance, especially when handling large amounts of data updates; 3) The rich ecosystem provides a large number of third-party libraries and tools. By understanding how React works and uses examples, you can master its core concepts and best practices to build an efficient, maintainable user interface.

See all articles