HTML5中新增了progress标签,用来表示进度条。
<progress value="100" max="100" class="hot">
显示效果如下:
其中CSS样式代码如下:
progress { width: 168px; height: 5px; } progress::-webkit-progress-bar { background-color:#d7d7d7; } progress::-webkit-progress-value { background-color:orange; }
解释下,在Chrome浏览器中
progress是以如下结构渲染的
progress
↓
::-webkit-progress-bar 全部进度
↓
::-webkit-progress-value 已完成进度
通过这两个伪元素为其添加样式。
但在别的浏览器中又有所不同,如IE10,这两个伪元素不起作用,直接用color样式可以修改已完成进度的颜色,而全部进度为background
FireFox中progress-bar为已完成进度,background为全部进度,而Opera中对这个样式只能为浏览器默认样式。
因此兼容性写法可以考虑如下
progress { color:orange; /*兼容IE10的已完成进度背景*/ border:none; background:#d7d7d7;/*这个属性也可当作Chrome的已完成进度背景,只不过被下面的::progress-bar覆盖了*/ } progress::-webkit-progress-bar { background:#d7d7d7; } progress::-webkit-progress-value, progress::-moz-progress-bar { background:orange; }
以上
时间: 2024-11-04 20:15:47