ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Progress.js自定义主题教程:如何用CSS3打造专属进度条皮肤

Progress.js自定义主题教程:如何用CSS3打造专属进度条皮肤 Progress.js自定义主题教程如何用CSS3打造专属进度条皮肤【免费下载链接】progress.jsProgressJs is a JavaScript and CSS3 library which help developers to create and manage progress bar for every objects on the page.项目地址: https://gitcode.com/gh_mirrors/pr/progress.jsProgress.js是一款基于 JavaScript 和 CSS3 的轻量级进度条库能为页面中的任意元素甚至整个页面添加带动画的进度条并且完全支持自定义主题——本教程教你用几行 CSS 代码为自己的网站打造专属进度条皮肤。 一分钟认识 Progress.jsProgress.js 的核心只有两个文件文件作用src/progress.jsJS 逻辑启动、设置、自动递增进度与切换主题src/progressjs.cssCSS3 样式全部进度条皮肤与动画效果生产环境建议使用压缩版本 minified/progress.min.js 与 minified/progressjs.min.css。它的 API 非常精简start()启动、set(80)跳到 80%、increase(5)增加 5%、autoIncrease()自动递增、end()完成并淡出。 三步跑起默认主题引入库文件将progress.min.js与progressjs.min.css引入页面一行代码启动进度条// 整页顶部的进度条 progressJs().start(); // 或绑定到某个具体元素 progressJs(#myCard).start();完成默认使用blue主题——一条 2 像素的蓝色细线带平滑过渡与淡出动画效果类似 iOS 7。 主题机制揭秘一行代码看懂创建主题的关键在源码中的一行拼接逻辑进度条容器会被加上progressjs-theme-{主题名}的 CSS 类名见 src/progress.js。这意味着你在 CSS 里写什么主题名页面就能匹配什么主题名。内置主题一键切换库里内置了 6 套进度条皮肤只需调用setOption修改主题名主题名效果blue2px 蓝色细线默认blueOverlay蓝色整层覆盖blueOverlayRadius覆盖层 圆角blueOverlayRadiusHalfOpacity覆盖层 圆角 半透明blueOverlayRadiusWithPercentBar覆盖层 圆角 居中大号百分比数字blackRadiusInputs黑色圆角细条适合包裹输入框progressJs(#myCard) .setOption(theme, blueOverlayRadius) .start();各主题的完整样式定义可参考 src/progressjs.css。 核心教程手写一个自定义进度条主题自定义主题只需要写 CSS完全不用改 JS。下面以打造一个紫色圆角 百分比文字主题为例。第 1 步确定主题名选一个主题名例如purpleBar。它必须与 CSS 中的类名.progressjs-theme-purpleBar完全一致。第 2 步定义进度条颜色与高度主题的进度填充由内部类.progressjs-inner控制它决定条的高度与颜色.progressjs-theme-purpleBar .progressjs-inner { height: 6px; background-color: #8e44ad; transition: all 0.3s ease-out; }第 3 步控制百分比文字显示百分比文字位于.progressjs-percent元素想让37%这样的数字显示出来就给它加上样式.progressjs-theme-purpleBar .progressjs-percent { color: #fff; font-size: 12px; }不想显示百分比直接display: none即可默认 blue 主题正是这样处理的见 src/progressjs.css。第 4 步添加结束淡出动画进度结束时Progress.js 会自动追加progressjs-end类名。给它写一个淡出过渡皮肤就有了完整的生命周期.progressjs-theme-purpleBar.progressjs-end { transition: opacity 0.2s ease-out; opacity: 0; }第 5 步启用你的新皮肤progressJs(#myCard) .setOption(theme, purpleBar) .start();搞定你现在拥有了一个与站点配色一致的进度条皮肤。✨ 进阶技巧覆盖模式与动画细节整层覆盖配合.setOption(overlayMode, true)使用 Overlay 系列主题进度条会以覆盖层铺满目标元素适合卡片整体加载场景过渡感知considerTransition选项默认开启会让结束回调等待 CSS3 动画完成后再触发配置见 src/progress.js多主题共存同一份 CSS 文件里可定义多个主题让页面不同区域的进度条各穿各的皮肤只需切换主题名。❓ 常见问题速查问题解决方法主题不生效检查类名.progressjs-theme-xxx是否与setOption传入的主题名完全一致颜色不符合品牌修改.progressjs-inner的background-color一行搞定动画节奏不想要调整transition的时长内置 blue 主题为 0.3s生产环境加载慢换用压缩版 minified/progress.min.js 和 minified/progressjs.min.css总结Progress.js 自定义主题的本质是JS 管行为CSS 管长相JS 只负责进度计算与动画时机外观则完全交给 CSS3 类名。掌握定主题名 → 样式化.progressjs-inner→ 补.progressjs-end动画三步套路你就能在几分钟内做出符合项目视觉风格的专属进度条皮肤。【免费下载链接】progress.jsProgressJs is a JavaScript and CSS3 library which help developers to create and manage progress bar for every objects on the page.项目地址: https://gitcode.com/gh_mirrors/pr/progress.js创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表