如何通过CSS修改浏览器的滚动条样式?

       滚动条,每个前端工程师都会遇到的一个组件,当你固定好盒子的高度设置了overflow-y:scroll或overflow-x:scroll后,只要内容超过了宽高就能够看的到它,就像下图一样:

image.png

修改前的默认样式


       因为觉得自带的滚动条显得有些“笨笨”的,所以在查阅资料后,我找到了通过CSS修改滚动条样式的方法,分享给可能也想要修改的大家。
/* 定义滚动条轨道 */
::-webkit-scrollbar {
  width: 1px; /* 设置滚动条宽度 */
}

/* 定义滚动条的轨道背景 */
::-webkit-scrollbar-track {
  background: transparent; /* 设置滚动条轨道背景颜色 */
}

/* 定义滚动条滑块 */
::-webkit-scrollbar-thumb {
  background: #dcdcdc; /* 设置滚动条滑块颜色 */
}

/* 定义滚动条滑块悬停时的样式 */
::-webkit-scrollbar-thumb:hover {
  background: #dcdcdc; /* 设置滚动条滑块悬停时的颜色 */
}

CSS代码


image.png

按上述CSS修改后的样式


       如果有想要修改的部分,按照这四个选择器写入特定的样式就能够满足要求了,快去试试吧。

告辞
在调整 CSS 样式后,横向滚动条显示过粗的问题通常与滚动条轨道(track)和滑块(thumb)的宽度或高度设置有关。对于 Webkit 内核浏览器(如 Chrome 和 Safari),可以通过 `::-webkit-scrollbar` 伪元素精确控制滚动条的尺寸和样式。如果发现横向滚动条变粗,可以针对性地调整其 `height` 属性。 以下是一个具体的解决方案,用于调整横向滚动条的高度,确保其不会显示过粗: ```css /* 设置滚动条的整体宽度和高度 */ ::-webkit-scrollbar { width: 4px; /* 垂直滚动条的宽度 */ height: 4px; /* 横向滚动条的高度 */ } /* 设置滚动条轨道的样式 */ ::-webkit-scrollbar-track { background-color: #F5F5F5; /* 轨道背景颜色 */ } /* 设置滚动条滑块的样式 */ ::-webkit-scrollbar-thumb { background-color: #0A2148; /* 滑块颜色 */ border-radius: 8px; /* 滑块圆角 */ } ``` 在某些情况下,滚动条可能受到其他 CSS 属性的影响,例如父容器的 `overflow` 设置或框架自带的样式(如 Vue Element UI)。可以通过覆盖默认样式来调整滚动条的显示效果。例如,在 Vue 中使用 `::v-deep` 来穿透 scoped 样式,调整 Element UI 的滚动条样式: ```css /* 修改横向滚动条的高度 */ .vol-table ::v-deep(.el-scrollbar__bar.is-horizontal) { height: 11px; /* 调整横向滚动条的高度 */ } ``` 此外,如果横向滚动条仍然显示过粗,可以尝试通过 `overflow-x: hidden;` 隐藏横向滚动条,仅保留竖向滚动条,以避免不必要的干扰: ```css .el-scrollbar__wrap { overflow-x: hidden; } ``` 通过上述方法,可以有效地调整横向滚动条的粗细,使其更符合设计需求。在实际应用中,应根据具体场景灵活调整样式参数,以确保滚动条的美观性和功能性[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-soda-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值