发布于 2026-01-06 0 阅读
0

自定义网站上的滚动条

自定义网站上的滚动条

大家好,今天我们又见面了,带来一个新的教程。正如标题所示,今天我将教大家如何自定义网站的滚动条。本教程仅适用于部分支持此功能的浏览器:Google Chrome、Microsoft Edge、Opera 和 Safari。Firefox 和 Internet Explorer 不支持自定义滚动条(至少使用这种方法不行)。我们将首先学习如何在大多数浏览器上自定义滚动条,然后再学习如何在 Mozilla Firefox 浏览器上自定义滚动条。不过别担心,Internet Explorer 不支持此功能并不意味着显示效果会很差,用户只是看不到你精心设计的滚动条而已😎。准备好了吗?让我们开始吧!

大多数浏览器都支持自定义滚动条。

基础知识

要自定义浏览器上的滚动条,必须使用伪元素::-webkit-scrollbar,该伪元素允许修改滚动条的样式。

要修改滚动条,大约有 7 种不同的选择器,其中一些属性不如其他属性重要,本教程将重点介绍以下三个属性:

  • ::-webkit-scrollbar它代表整个滚动条。我们可以使用此属性定义滚动条的宽度。
  • ::-webkit-scrollbar-thumb这就是滚动条。对于这个伪元素,我们可以应用多种不同的参数来设置样式:渐变、颜色、边框圆角、悬停效果等等。
  • ::-webkit-scrollbar-track对于滚动条的轨道(进度条),我们可以应用背景属性。

执行

现在我们已经了解了滚动条样式的主要属性,接下来我们将通过一个例子来实践我们刚才所看到的内容。

我们将从一个简单的HTML基础开始,如下所示:

<body>
  <h1>I'm the title</h1>
  <!-- Put a lot of text here, so that the page has to be scrolled to be seen in full. -->
  <p>[YOUR TEXT]</p>
</body>
Enter fullscreen mode Exit fullscreen mode

让我们给层叠样式表添加一些样式:

body{
  background: #252525;
  color: white;
  margin: 20px 5%;
}

h1{
  text-align: center;
}

p{
  width: 800px;
  max-width: 95%;
  text-align: justify;
  margin: 0 auto;
}
Enter fullscreen mode Exit fullscreen mode

我们将之前看到的各种属性付诸实践(仍然在我们的 CSS 文件中 😉):

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-thumb {
  background: rgba(8, 8, 8, 0.58);
  transition: all 0.15s ease-in-out;
}
::-webkit-scrollbar-track {
  background: transparent;
}
Enter fullscreen mode Exit fullscreen mode

您可以在下面看到我们这段代码的运行结果,其中我将“[您的文本]”替换成了 Lorem Ipsum 文本:

完成

为了使页面更简洁,我们可以将 CSS 属性应用overflow: overlay;到我们的页面中body,这样滚动条就可以位于页面内部。

我们还将通过添加border-radius鼠标悬停时的动态效果来改进滚动条。

您可以在下方看到我们 CSS 代码的更改:

body{
  overflow: overlay;
  background: #252525;
  color: white;
  margin: 20px 5%;
}

h1{
  text-align: center;
}

p{
  width: 800px;
  max-width: 95%;
  text-align: justify;
  margin: 0 auto;
}

/* Scrollbar */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-thumb {
  background: rgba(125, 125, 125, 1);
  border-radius: 12px;
  transition: all 0.15s ease-in-out;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(157, 157, 154, 1);
}
::-webkit-scrollbar-track {
  background: transparent;
}
Enter fullscreen mode Exit fullscreen mode

最终结果及后续步骤:

自定义 Mozilla Firefox 的滚动条

对于 Mozilla Firefox 来说,这更简单(其实本来就不复杂😂),因为我们只需要设置以下两个scrollbar-color参数scrollbar-width

对于第一个参数,scrollbar-color您需要填写两个颜色值:第一个值用于滚动条颜色,第二个值用于滚动条进度区域的背景颜色。

对于第二个参数,我们可以为滚动条scrollbar-width宽度设置几个值auto,,,,,,inheritinitialnonerevertthinunset

例如,要在 Mozilla 上自定义滚动条,我们可以使用以下代码。

html{
  scrollbar-color: #e82727 #959595;
  scrollbar-width: thin;
}
Enter fullscreen mode Exit fullscreen mode

希望这篇教程能帮助你创建自定义滚动条,欢迎在评论区留下你的反馈!👍

文章来源:https://dev.to/clementgaudiniere/customize-the-scrollbar-on-a-website-gh1