学习使用CSS制作进度条

iefreer 发表于 2016-10-07 16:24:23

标签: css3, progress, bar

- +

进度条是基础的界面控件,可用于多种场合,比如任务完成进度,手机充电状态等。

本文介绍一个简单实用的进度条制作方法。预期效果如下图所示:

下载.png

直观上,我们可以把该进度条控件分为2个部分,外部的边界用来表示固定的目标范围,里面的条形部分用来表示当前进度。

外部目标范围元素的CSS代码编写如下:

.pb-scope {  
    display: inline-block;  
    width: 100px;  
    height: 20px;  
    padding: 2px;  
    border: 4px solid #A157FC;  
    border-top-left-radius: 10% 50%;  
    border-top-right-radius: 10% 50%;  
    border-bottom-left-radius: 10% 50%;  
    border-bottom-right-radius: 10% 50%;  
}

内部条形元素边界的弧度需要和外部范围元素的保持一致,可以使用继承的方式:

.pb-scope .pb-bar {  
    display: block;  
    width: 70%;  
    height: 100%;  
    border-radius: inherit;  
    background: #A157FC;  
}

上述border-radius属性使用inherit值,以保持和其父样式类相同的半径。

具体使用时的HTML代码示例如下:

<span class="pb-glass">
    <span class="pb-bar"></span>
</span>

如果需要显示进度条动画,只要给内部bar元素添加animation即可。

一个完整的在线实例可以访问:http://wow.techbrood.com/fiddle/17885


possitive(0) negative(0) views1970 comments0
私信 收藏 分享
分享到

发送私信

最新评论

请先 登录 再评论.
相关文章
  • WebGL、Asm.js和WebAssembly概念简介

    随着HTML技术的发展,网页要解决的问题已经远不止是简单的文本信息,而包括了更多的高性能图像处理和3D渲染方面。这正是要引入WebGL、Asm.js和WebAssembly这些技...

  • 常见面试题JavaScript闭包(ES5语法)

    JavaScript闭包(Closure)是常见的JS面试题,是否理解闭包是一个简单的区分JS初级和高级程序员的判例。几乎每个JS程序员都在使用闭包,有意或无意间。比如编写一个jQuery鼠标点击处理函数:$(function()

  • 计算WebGL中的uniforms变量使用数

    在使用Three.js为人体模型加载皮肤材料时,启用了skinning:true的参数。有时候会导致GL编译错误,提示“too many uniforms”。下面的文章有助于理解错误原因和检...

  • WebGL 纹理映射模式以及WRAP_S | WRAP_T参数详解

    我们在纹理滤镜一文中已经说明了2个重要的纹理参数,用来定义对象缩放时纹理的处理方式:GL_TEXTURE_MIN_FILTERGL_TEXTURE_MAG_FILTER本文讲解其余几个纹理参数...

  • Three.js入门教程6 - 创建全景图和纹理

    全景图非常酷。使用Three.js做一个属于自己的全景图并不是那么困难。要做一个全景图,你需要一个软件用来做一张全景图片。我使用了iPhone上的Microsoft Photosyn...

  • Three.js入门教程2 - 着色器(上)

    之前我已经给出了一篇

  • 如何使用WebGL实现空气高温热变形动画特效

    我们在炎炎夏日,或者在火堆旁,经常会观察到热源周围空气的不稳定波动现象。本文将讲解如何通过WebGL来实现这个特效。该效果可用于热变形、波浪、水面波光等场...

  • HTML网页布局:静态、自适应、流式、响应式

    静态布局(Static Layout)即传统Web设计,对于PC设计一个Layout,在屏幕宽高有调整时,使用横向和竖向的滚动条来查阅被遮掩部分;对于移动设备,单独设计一个布...

  • 如何使用CSS3实现一个平滑的3D文本标题

    要实现3D文本,基本上有3种方法:1. 使用CSS3的投影滤镜(filter: drop-shadow)2. 使用3d建模和CSS3 3d变换来实现(最真实)3. 使用CSS3 text-shadow属性来实现...

  • 使用CSS3实现流星雨动画教程

    很多营销页面中需要实现类似流星雨的动画背景,营造节日浪漫的气氛。要实现这样的效果,有两种方法,一个是使用Canvas,一个是使用纯CSS3,我们这里介绍第2种方...

  • 更多...