Home  >  Article  >  Web Front-end  >  CSS sets the style of the scroll bar

CSS sets the style of the scroll bar

WBOY
WBOYOriginal
2023-05-21 10:01:0626650browse

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;
}
  • ::-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);
}

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; /* 自动出现滚动条 */
}

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); /* 阴影 */
}

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:
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