在html中创建进度条最直接的方法是使用
HTML里做进度条,用
1.
<progress value="30" max="100"></progress>
这段代码会显示一个进度条,当前完成了30%,总进度是100%。如果不写max,默认值是1.0,这时候value也应该在0到1之间。
如果你的任务还没开始,或者还在计算进度,可以用“不确定模式”,也就是不加value属性:
立即学习“前端免费学习笔记(深入)”;
<progress max="100"></progress>
这种状态常用于页面加载初期,等数据拿到后再动态更新value。
2. 给进度条加样式(简单美化)
默认的进度条样式比较单调,但你可以用css来改颜色、高度、圆角这些外观。不同浏览器对
比如你想把进度条改成蓝色,宽度拉长一点,可以这样写:
<style> progress { width: 300px; height: 20px; border-radius: 10px; background-color: #eee; } progress::-webkit-progress-value { background-color: #4CAF50; border-radius: 10px; } progress::-moz-progress-bar { background-color: #4CAF50; border-radius: 10px; } </style> <progress value="60" max="100"></progress>
这里用了伪元素选择器来分别控制chrome和firefox里的进度部分颜色。虽然有点麻烦,但基本能实现大多数简单的美化需求。
3. 动态更新进度条(配合JavaScript)
实际开发中,进度通常是动态变化的,比如文件上传、定时任务等。这时候就需要用JS来更新value属性。
举个例子,每隔一秒增加10%的进度:
<progress id="myProgress" value="0" max="100"></progress> <p id="percent">0%</p> <script> let progress = document.getElementById('myProgress'); let percent = document.getElementById('percent'); let current = 0; let timer = setInterval(() => { current += 10; progress.value = current; percent.textContent = current + '%'; if (current >= 100) { clearInterval(timer); } }, 1000); </script>
这个例子模拟了进度递增的效果。你也可以把它应用到真实的异步任务中,比如ajax请求、文件上传监听等场景。
基本上就这些。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END