引入方法
如果你使用的是 Butterfly 主题,可以在主题配置文件中加入:
1 2 3 4
| inject: head: - <script src="https://npm.elemecdn.com/pace-js@latest/pace.min.js"></script> - <link rel="stylesheet" href="/css/<your_pace.css>">
|
新版本 Butterfly 配置文件中有内置的 pace 选项,但是它的 pace.js 使用的 jsdelivr 提供的 CDN,国内访问困难,CDN 项也没有相应更改的地方,建议按照这篇文章的说明使用老方法进行进度条的引入。
基本样式
PACE 官网给出的示例,这里已把官网的 jsdelivr 连接替换掉了:
1
| https://cdn.bootcdn.net/ajax/libs/pace/1.2.4/pace-theme-default.min.css
|
官网样式
可以在这里挑选你喜欢的样式并下载对应的 CSS 文件:PACE — Automatic page load progress bars (codebyzach.github.io)
其他样式
也可以尝试这一种:
基础版本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| .pace { -webkit-pointer-events: none; pointer-events: none; -webkit-user-select: none; -moz-user-select: none; user-select: none; z-index: 2000; position: fixed; margin: auto; top: 4px; left: 0; right: 0; height: 8px; border-radius: 8px; width: 4rem; background: #eaecf2; border: 1px #e3e8f7; overflow: hidden }
.pace-inactive .pace-progress { opacity: 0; transition: .3s ease-in }
.pace .pace-progress { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; box-sizing: border-box; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); max-width: 200px; position: absolute; z-index: 2000; display: block; top: 0; right: 100%; height: 100%; width: 100%; background: linear-gradient(215deg, #05662a 0%, #bffc16 100%); animation: gradient 2s ease infinite; background-size: 200% }
.pace.pace-inactive { opacity: 0; transition: .3s; top: -8px }
|
动态版本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| .pace { -webkit-pointer-events: none; pointer-events: none; -webkit-user-select: none; -moz-user-select: none; user-select: none; z-index: 2000; position: fixed; margin: auto; top: 4px; left: 0; right: 0; height: 8px; border-radius: 8px; width: 4rem; background: #eaecf2; border: 1px #e3e8f7; overflow: hidden }
.pace-inactive .pace-progress { opacity: 0; transition: .3s ease-in }
.pace .pace-progress { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; box-sizing: border-box; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); max-width: 200px; position: absolute; z-index: 2000; display: block; top: 0; right: 100%; height: 100%; width: 100%; background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab); animation: gradient 1.5s ease infinite; background-size: 200% }
.pace.pace-inactive { opacity: 0; transition: .3s; top: -8px } @keyframes gradient { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }
|
对比两个版本的差异,相信你能自定义出一套自己的进度条。
本文参考