You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现仅显示滚动条箭头而非完整滚动条

实现仅显示滚动条箭头的技巧

哈哈,这个问题一点都不浅显!很多做精致UI的朋友都会有这种需求,刚好可以通过纯CSS来搞定,不用额外折腾JS插件,下面我一步步给你拆解:

1. 先搭基础HTML结构

先准备一个带滚动内容的容器,示例代码如下:

<div class="scroll-container">
  <div class="scroll-content">
    <!-- 这里放你的长内容,重复足够多让容器触发滚动 -->
    示例文本内容<br>
    示例文本内容<br>
    示例文本内容<br>
    <!-- 更多内容... -->
  </div>
</div>

2. 核心CSS实现方案

不同浏览器的滚动条自定义规则不一样,我分开给你讲主流场景的写法:

针对WebKit内核浏览器(Chrome、Safari、新版Edge)

这部分是最容易精准控制的,利用WebKit专属的滚动条伪元素:

.scroll-container {
  width: 300px; /* 自定义容器宽度 */
  height: 400px; /* 自定义容器高度 */
  overflow-y: auto; /* 开启垂直滚动 */
}

/* 设置滚动条宽度,刚好能容纳箭头按钮即可 */
.scroll-container::-webkit-scrollbar {
  width: 20px;
}

/* 隐藏滚动条轨道 */
.scroll-container::-webkit-scrollbar-track {
  background: transparent;
}

/* 隐藏滚动条滑块 */
.scroll-container::-webkit-scrollbar-thumb {
  display: none;
}

/* 给箭头按钮加基础样式,还能加hover效果优化交互 */
.scroll-container::-webkit-scrollbar-button {
  background-color: #eee;
  border-radius: 3px;
}

.scroll-container::-webkit-scrollbar-button:hover {
  background-color: #ccc;
}

针对IE和旧版Edge

如果需要兼容这类浏览器,可以用以下样式:

.scroll-container {
  -ms-overflow-style: none; /* 先隐藏默认滚动条 */
}

/* 设置滚动条宽度 */
.scroll-container::-ms-scrollbar {
  width: 20px;
}

/* 隐藏轨道和滑块 */
.scroll-container::-ms-scrollbar-track,
.scroll-container::-ms-scrollbar-thumb {
  visibility: hidden;
}

/* 给箭头按钮设置样式 */
.scroll-container::-ms-scrollbar-button {
  background-color: #eee;
}

针对Firefox浏览器

Firefox的滚动条自定义权限相对受限,只能通过近似方式实现:

.scroll-container {
  scrollbar-width: thin; /* 把滚动条设为细款 */
  scrollbar-color: transparent transparent; /* 滑块和轨道设为透明 */
}

注:Firefox目前没有单独控制箭头的伪元素,这个方法能让滚动条主体几乎不可见,箭头会保留(样式取决于系统主题),如果要更精准的效果,可能需要用JS模拟自定义箭头按钮。

3. 效果说明

设置完成后,容器就只会显示上下滚动的箭头按钮,中间的滚动条轨道和滑块都会被隐藏,完全符合你想要的效果~

内容的提问来源于stack exchange,提问作者Rexury Boy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 16:07:44