Skip to content

Scrollbar 滚动条

用于替换浏览器原生滚动条,支持自定义滚动条样式。

引入

html
<script type="module">
  import "./node_modules/easy-component-ui/dist/components/ea-scrollbar.js";
</script>
js
import "easy-component-ui/ea-scrollbar";

自定义样式

移步到 CSS Part

基础用法

通过 height 属性设置滚动条高度,若不设置则根据父容器高度自适应。

header

aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside
aside

footer

header

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

main

footer

查看代码
html
<ea-scrollbar>
  <div>aside</div>
  <!-- ... -->
</ea-scrollbar>

横向滚动

当元素宽度大于滚动条宽度时,会显示横向滚动条。

horizontal
horizontal
horizontal
horizontal
horizontal
horizontal
horizontal
horizontal
horizontal
horizontal
horizontal
查看代码
html
<div style="height: 200px;">
  <ea-scrollbar>
    <div class="horizontal-section">
      <div class="scrollbar-item">horizontal</div>
      <!-- ... -->
    </div>
  </ea-scrollbar>
</div>

原生滚动条

使用 native 属性使用浏览器原生滚动条样式。

native scrollbar content

native scrollbar content

native scrollbar content

native scrollbar content

native scrollbar content

native scrollbar content

native scrollbar content

native scrollbar content

native scrollbar content

native scrollbar content

native scrollbar content

native scrollbar content

native scrollbar content

native scrollbar content

native scrollbar content

查看代码
html
<ea-scrollbar native>
  <p>native scrollbar content</p>
  <!-- ... -->
</ea-scrollbar>

始终显示

使用 always 属性始终显示滚动条。

always visible scrollbar content

always visible scrollbar content

always visible scrollbar content

always visible scrollbar content

always visible scrollbar content

always visible scrollbar content

always visible scrollbar content

always visible scrollbar content

always visible scrollbar content

always visible scrollbar content

always visible scrollbar content

always visible scrollbar content

always visible scrollbar content

always visible scrollbar content

always visible scrollbar content

查看代码
html
<ea-scrollbar always>
  <p>always visible scrollbar content</p>
  <!-- ... -->
</ea-scrollbar>

指定高度

使用 height 属性设置滚动条高度。

height scrollbar content

height scrollbar content

height scrollbar content

height scrollbar content

height scrollbar content

height scrollbar content

height scrollbar content

height scrollbar content

height scrollbar content

height scrollbar content

height scrollbar content

height scrollbar content

height scrollbar content

height scrollbar content

height scrollbar content

查看代码
html
<ea-scrollbar height="300px">
  <p>height scrollbar content</p>
  <!-- ... -->
</ea-scrollbar>

Scrollbar API

Scrollbar Attributes

参数说明类型可选值默认值
height滚动条高度string""
native是否使用浏览器原生滚动条样式booleanfalse
noresize是否禁用滚动条的自动调整大小功能booleanfalse
always是否始终显示滚动条booleanfalse

Scrollbar CSS Part

用法可参考 MDN ::part()伪类

名称说明
container滚动条容器
track-horizontal水平滚动轨道
track-vertical垂直滚动轨道
thumb-horizontal水平滚动滑块
thumb-vertical垂直滚动滑块
view视图容器

Scrollbar Slots

名称说明
default滚动内容

Scrollbar Methods

方法名说明参数
scrollTo滚动到指定位置ScrollToOptions

Scrollbar Events

事件名说明回调参数(event.detail)
ea-scroll滚动时触发{ scrollTop: number, scrollLeft: number }
ea-end-reached滚动到边界时触发{ direction: 'top' | 'bottom' | 'left' | 'right', scrollTop: number, scrollLeft: number }

Scrollbar CSS Custom Properties

属性名说明默认值
--ea-scrollbar-top垂直滑块偏移位置0
--ea-scrollbar-left水平滑块偏移位置0
--ea-scrollbar-track-color轨道背景颜色var(--color-transparent)
--ea-scrollbar-thumb-color滑块背景颜色var(--grey-300)
--ea-scrollbar-thumb-hover-color滑块悬停背景颜色var(--grey-400)
--ea-scrollbar-track-vertical-height垂直轨道高度100%
--ea-scrollbar-track-vertical-width垂直轨道宽度10px
--ea-scrollbar-thumb-vertical-height垂直滑块高度0
--ea-scrollbar-thumb-vertical-width垂直滑块宽度100%
--ea-scrollbar-track-horizontal-height水平轨道高度10px
--ea-scrollbar-track-horizontal-width水平轨道宽度100%
--ea-scrollbar-thumb-horizontal-height水平滑块高度100%
--ea-scrollbar-thumb-horizontal-width水平滑块宽度0