站长资讯网
最全最丰富的资讯网站

仅仅使用HTML/CSS实现各类进度条的方式(整理分享)

本篇文章给大家整理了仅仅使用HTML/CSS实现各类进度条的方式,希望对大家有帮助。

仅仅使用HTML/CSS实现各类进度条的方式(整理分享)

本文将介绍如何使用 HTML/CSS 创建各种基础进度条及花式进度条及其动画的方式,通过本文,你可能可以学会:

  • 通过 HTML 标签 <meter> 创建进度条

  • 通过 HTML 标签 <progress> 创建进度条

  • HTML 实现进度条的局限性

  • 使用 CSS 百分比、渐变创建普通进度条及其动画

  • 使用 CSS 创建圆环形进度条

  • 使用 CSS 创建球形进度条

  • 使用 CSS 创建 3D 进度条

进度条,是我们日常界面中使用的非常多的一种,下面我们来看看。到今天,我们可以如何实现进度条。

HTML 标签 — meter & progress

这个可能是一些同学还不太清楚的,HTML5 原生提供了两个标签 <meter> 和 <progress> 来实现进度条。

  • <meter>:用来显示已知范围的标量值或者分数值

  • <progress>:用来显示一项任务的完成进度,通常情况下,该元素都显示为一个进度条

我们分别来看看,首先是 <meter> 标签:

<p>     <span>完成度:</span>     <meter min="0" max="500" value="350">350 degrees</meter> </p>
meter {     width: 200px; }

样式如下:

仅仅使用HTML/CSS实现各类进度条的方式(整理分享)

其中,min、max、value 分别表示最大值,最小值与当前值。

无独有偶,我们再来看看 <progress> 标签的用法:

<p>     <label for="file">完成度:</label>     <progress max="100" value="70"> 70% </progress> </p>
progress {     width: 200px; }

样式如下:

仅仅使用HTML/CSS实现各类进度条的方式(整理分享)

其中,max 属性描述这个 progress 元素所表示的任务一共需要完成多少工作量,value 属性用来指定该进度条已完成的工作量。

meter & progress 之间的差异

那么问题来了,从上述 Demo 看,两个标签的效果一模一样,那么它们的区别是什么?为什么会有两个看似一样的标签呢?

这两个元素最大的差异在于语义上的差别。

  • <meter>:表示已知范围内的标量测量值或分数值

  • <progress>:表示任务的完成进度

譬如,一个需求当前的完成度,应该使用 <progress>,而如果要展示汽车仪表盘当前的速度值,应该使用 meter。

meter & progress 的局限性

当然,在实际的业务需求中,或者生产环境,你几乎是不会看到 <meter> 和 <progress> 标签。

  • 我们无法有效的修改 <meter> 和 <progress> 标签的样式,譬如背景色,进度前景色等。并且,最为致命的是,浏览器默认样式的表现在不同浏览器之间并不一致。这给追求稳定,UI 表现一致的业务来说,是灾难性的缺点!

  • 我们无法给他添加一些动画效果、交互效果,因为一些实际的应用场景中,肯定不是简单的展示一个进度条仅此而已

利用 CSS 实现进度条

因此,在现阶段,

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号