<div class="demo-col"> <div class="slider-row"><span>音量</span><span id="demo-slider-val">40</span></div> <div class="slider"> <div class="slider-track"></div> <div class="slider-fill" style="width:40%"></div> <div class="slider-thumb" style="left:calc(40% - 8px)"></div> <input class="slider-native" id="demo-slider" type="range" min="0" max="100" value="40" aria-label="音量" /> </div></div><div class="demo-col" style="margin-top:16px"> <div class="slider-row"><span>价格区间</span><span id="demo-dual-val">20 – 80</span></div> <div class="slider slider--dual" id="demo-dual"> <div class="slider-track"></div> <div class="slider-range" style="left:20%; right:20%"></div> <div class="slider-thumb slider-thumb--lo" style="left:calc(20% - 8px)"></div> <div class="slider-thumb slider-thumb--hi" style="left:calc(80% - 8px)"></div> <input class="slider-native" type="range" data-thumb="lo" min="0" max="100" value="20" aria-label="最小值" /> <input class="slider-native" type="range" data-thumb="hi" min="0" max="100" value="80" aria-label="最大值" /> </div></div> 安装
bun add @icen.ai/ui pnpm add @icen.ai/ui npm install @icen.ai/ui yarn add @icen.ai/ui 一行引入该组件(CSS 与 behavior 自动带上,无需关心内部 CSS 文件名):
import { initSlider } from '@icen.ai/ui/kit/slider';initSlider(); 也可以用脚手架直接打印引入行:
bunx --bun @icen.ai/ui add slider
Astro 项目注意:kit 入口里的 CSS import 在页面 <script> 里会被 Astro 的 client bundle 摇掉——请改在布局 frontmatter 里引 CSS(import '@icen.ai/ui/components/slider.css';),JS 行为仍可走 kit。Vite SPA / webpack 项目无此问题。
用法
import { initSlider } from '@icen.ai/ui/behaviors/slider';initSlider();