Scrollbar 滚动条
用于替换浏览器原生滚动条,支持自定义滚动条样式。
引入
<script type="module">
import "./node_modules/easy-component-ui/dist/components/ea-scrollbar.js";
</script>import "easy-component-ui/ea-scrollbar";自定义样式
移步到 CSS Part。
基础用法
通过 height 属性设置滚动条高度,若不设置则根据父容器高度自适应。
header
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
查看代码
<ea-scrollbar>
<div>aside</div>
<!-- ... -->
</ea-scrollbar>横向滚动
当元素宽度大于滚动条宽度时,会显示横向滚动条。
查看代码
<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
查看代码
<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
查看代码
<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
查看代码
<ea-scrollbar height="300px">
<p>height scrollbar content</p>
<!-- ... -->
</ea-scrollbar>Scrollbar API
Scrollbar Attributes
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
height | 滚动条高度 | string | — | "" |
native | 是否使用浏览器原生滚动条样式 | boolean | — | false |
noresize | 是否禁用滚动条的自动调整大小功能 | boolean | — | false |
always | 是否始终显示滚动条 | boolean | — | false |
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 |