7-8 进度条--基本样式
本节编程练习不计算学习进度,请电脑登录imooc.com操作

进度条--基本样式

Bootstrap框架中对于进度条提供了一个基本样式,一个100%宽度的背景色,然后个高亮的色表示完成进度。其实制作这样的进度条非常容易,一般是使用两个容器,外容器具有一定的宽度,并且设置一个背景颜色,他的子元素设置一个宽度,比如完成度是30%(也就是父容器的宽度比例值),同时给其设置一个高亮的背景色。

使用方法:

Bootstrap框架中也是按这样的方式实现的,他提供了两个容器,外容器使用“progress”样式,子容器使用“progress-bar”样式。其中progress用来设置进度条的容器样式,而progress-bar用于限制进度条的进度。使用方法非常的简单:

<div class="progress">
       <div class="progress-bar" style="width:40%"></div>
</div>

运行效果如下:

实现原理:

前面也说了,这样的基本进度条主要分成两部分:

progress样式主要设置进度条容器的背景色,容器高度、间距等:

/*bootstrap.css文件第4516行~第4524行*/
.progress {
  height: 20px;
  margin-bottom: 20px;
  overflow: hidden;
  background-color: #f5f5f5;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
          box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
}

而progress-bar样式在设置进度方向,重要的是设置了进度条的背景颜色和过渡效果:

/*bootstrap.css文件第4525行~第4538行*/
.progress-bar {
  float: left;
  width: 0;
  height: 100%;
  font-size: 12px;
  line-height: 20px;
  color: #fff;
  text-align: center;
  background-color: #428bca;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
  -webkit-transition: width .6s ease;
          transition: width .6s ease;
}

结构优化:

虽然这样实现了基本进度条效果,但对于残障人员浏览网页有点困难,所以我们可以将结构做得更好些(语义化更友好些):

<div class="progress">
    <div class="progress-bar" style="width:40%;" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100">
        <span class="sr-only">40% Complete</span>
    </div>
</div>

1、role属性作用:告诉搜索引擎这个div的作用是进度条。

2、aria-valuenow="40"属性作用:当前进度条的进度为40%。

3、aria-valuemin="0"属性作用:进度条的最小值为0%。

4、aria-valuemax="100"属性作用:进度条的最大值为100%。

任务

我来试试:在右侧代码任务部分编写代码,实现一个进度为“80%”的进度条。

效果图如下:

  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>进度条--基本样式</title>
  6. <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
  7. </head>
  8. <body>
  9. <div class="progress">
  10. <div class="progress-bar" style="width:40%">
  11. </div>
  12. </div>
  13. <!--下面是代码任务部分-->
  14.  
  15.  
  16. <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
  17. <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
  18. </body>
  19. </html>
  1. body {
  2. padding: 50px 100px;
  3. }
下一节