零基础建站培训介绍

当前位置:

HTML5中的进度条progress元素详解

当我们在网页上上传一个文件,提交一个表单,观看一段视频等的时候,作为良好的用户体验,我们都需要使用一个进度条来提示用户当前应用的进度。

HTML5为我们提供了一个

<progress>

元素来显示一个进度条。和其他HTML5元素一样,

<progress>

元素能使用CSS和javascript来增强它的外观和功能。

一、progress元素基本了解


1.基本UI


progress元素属于HTML5家族,指进度条。IE10+以及其他靠谱浏览器都支持。如下简单code:

XML/HTML Code复制内容到剪贴板
<progress max="100" value="85"></progress>

这个默认的效果,不同浏览器下的效果不尽相同,如下截图们(window 7下):
201662114209261

2.基本属性

max, value, position, 以及labels.
(1)max指最大值。若缺省,进度值范围从0.0~1.0,如果设置成max=100, 则进度值范围从0~100.
(2)value就是值了,若max=100, value=50则进度正好一半。value属性的存在与否决定了progress进度条是否具有确定性。什么意思?比方说<progress></progress>没有value,是不确定的,因此IE10浏览器下其长相是个无限循环的虚点动画;但是,一旦有了value属性(即使无值),如<progress value></progress>, 也被认为是确定的,虚点动画进入仙人模式——>变条条了,如下截图:
201662114237282

(3)position是只读属性,顾名思意,当前进度的位置,就是value / max的值。如果进度条不确定,则值为-1.
(4)labels也是只读属性,得到的是指向该progress元素的label元素们。例如document.querySelector("progress").labels,返回的就是HTMLCollection, 下为我的某测试截图(截自Opera浏览器下,目前FireFox18.0.2以及IE10貌似都不支持)。

二、progress元素兼容性处理示例
html代码

XML/HTML Code复制内容到剪贴板
  1. <progress max="100" value="20"><ie style="width:20%;"></ie></progress>

css兼容代码

CSS Code复制内容到剪贴板
  1. progress {
  2.     display: inline-block;
  3.     width: 160px;
  4.     height: 20px;
  5.     border: 1px solid #0064B4;
  6.     background-color:#e6e6e6;
  7.     color: #0064B4; /*IE10*/
  8. }
  9. /*ie6-ie9*/
  10. progress ie {
  11.     display:block;
  12.     height: 100%;
  13.     background: #0064B4;
  14. }
  15. progress::-moz-progress-bar { background: #0064B4; }
  16. progress::-webkit-progress-bar { background: #e6e6e6; }
  17. progress::-webkit-progress-value  { background: #0064B4; }

基本上完美的解决了各浏览器的差别。

上一课: 下一课:

发表评论

邮箱地址不会被公开。 必填项已用*标注

相关教程

  • html中marquee标签让图片水平滚动可以如下写法:<marquee onmouseover="this.stop()" onmouseout="this.start()" scrollam
  • 什么是网页制作 (13119 次学习)
    什么是网页制作网页制作是指通过PS软件设计一个版面效果图,然后再通过PS切片将效果图切成很多的小图片,再使用HTML5和CSS3按照效果图,转换成一张HT
  • header元素nav元素article元素section元素aside元素<footer> 标签time元素<audio> 标签<canvas> 标签<command> 标签<data
  • 什么是HTML属性每个HTML元素都可以给它添加一些属性,让它成为我们做网站时需要的样子。例如一段文字,我们可以给它添加属性,使这段文字变成红色,
  • <details> 标签规定了用户可见的或者隐藏的需求的补充细节。目前,只有 Chrome 和 Safari 6 支持 <details> 标签。<details> <
  • 问:我想建一个小说网站,但我只会HTML,我能够用HTML做一个小说网站吗?这个小说网站的后台更新怎么实现?答:单纯的HTML很难去建一个小说网站,HTM
  • html基本语法汇总 (15678 次学习)
    简介HTML(Hyper Text Mark-up Language超文本标记语言):不是编程语言,而是一种描述性的标记语言,用于描述网页中内容的显示方式,比如文字以什么颜
  • Html5较之前的HTML4,唯一的方式是采用<h1> ~ <h6>元素来创建大纲。因为正常习惯下,<h1> ~ <h6>表示了从第一级到第六级的层
  • HTML 文本格式化:使用 pre 标签对空行和空格进行控制。“计算机输出”标签:这些标签常用于显示计算机/编程代码。引用标签:使用 blockquote 元素的
  • HTML5教程之mark元素详解 (14712 次学习)
    <mark>元素是HTML 5中新增的元素,主要功能是在文本中高亮显示某个或某几个字符,旨在引起用户的特别注意。其使用方法与<em>和<strong