关于chrome:基于webkit的浏览器修改滚动条的样式如谷歌浏览器Safari浏览器Opera浏览器等

问题形容

谷歌浏览器自带的滚动条的款式,不太好看。所以有时候可能要批改一下其款式。本文以vue的我的项目为例,针对于应用webkit内核的浏览器,其对应浏览器滚动条的款式管制都无效。

浏览器内核简介

浏览器的内核引擎,基本上是三分天下:

  • WebKit内核: Google Chrome、Safari、傲游3、猎豹浏览器、百度浏览器、opera浏览器等、都是基于Webkit开发的(edge浏览器也反对上面的css语法哦)
  • Gecko内核: Firefox 是基于Gecko开发
  • Trident内核: IE是基于Trident开发的

代码

代码图示

代码附上

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width,initial-scale=1.0">
  <link rel="icon" href="<%= BASE_URL %>favicon.ico">
  <title>
    <%= htmlWebpackPlugin.options.title %>
  </title>
  <style>
    /* 仅实用于webkit的浏览器 */
    /* 定义滚动条和滚动条轨道的宽度 */
    ::-webkit-scrollbar {
      width: 15px;
      /* height: 100px;
         这里就不必定义滚动条的高度了
         因为高度的话,是依据内容自适应的 */
    }

    /*定义滚动条 内暗影+圆角*/
    ::-webkit-scrollbar-thumb {
      border-radius: 10px;
      -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
      background-color: pink;
    }

    /*定义滚动条滑动轨道 内暗影+圆角*/
    ::-webkit-scrollbar-track {
      border-radius: 4px;
      background-color: #bfa;
    }

    /* 鼠标放上去成果 */
    ::-webkit-scrollbar-thumb:hover {
      background: #baf;
    }

  </style>
</head>
<body>
  <noscript>
    <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
        Please enable it to continue.</strong>
  </noscript>
  <div id="app"></div>
  <!-- built files will be auto injected -->
</body>
</html>

效果图附上


同理,如果要批改某个div的款式,只须要在类名前面加上上述的webkit伪元素即可,比方咱们批改一个类名为box的div的滚动条款式

.box::-webkit-scrollbar  {
  width: 9px;
}
.box::-webkit-scrollbar-thumb  {
  background-color: red;
  border-radius: 8px;
}
.box::-webkit-scrollbar-thumb:hover {
  background: #baf;
}

比方咱们批改饿了么UI中的el-table的竖向滚动条的款式

// 表格的滚动条滑块
/deep/ .el-table__body-wrapper::-webkit-scrollbar  {
  width: 9px;
}
// 滚动条的滑块
/deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb  {
  background-color: #ddd;
  border-radius: 8px;
}

总结

好忘性不如烂笔头,记录一下

最初附上 MDN文档中对于::-webkit-scrollbar的介绍。传送门如下:
https://developer.mozilla.org…::-webkit-scrollbar

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理