4.16.3 条纹样式

与其他组件只提供多种颜色不同,Bootstrap还为进度条提供了一种条纹样式,并且不同的颜色可以显示不同的条纹。示例用法如下:

  1. <div class="progress progress-striped">
  2. <div class="progress-bar progress-bar-info" style="width: 20%"></div>
  3. </div>
  4. <div class="progress progress-striped">
  5. <div class="progress-bar progress-bar-success" style="width: 40%"></div>
  6. </div>
  7. <div class="progress progress-striped">
  8. <div class="progress-bar progress-bar-warning" style="width: 60%"></div>
  9. </div>
  10. <div class="progress progress-striped">
  11. <div class="progress-bar progress-bar-danger" style="width: 80%"></div>
  12. </div>

上述示例的运行效果如图4-77所示。

4.16.3 条纹样式 - 图1 图4-77 条纹进度条效果

通过示例代码和运行效果可以看出,只是在容器元素上附加了一个新的progress-striped样式,该样式的实现是利用CSS3的线性渐变特性linear-gradient来实现的。源码如下:

  1. // 源码4546行
  2. .progress-striped .progress-bar { /* 下面是根据不同的浏览器进行线性渐变的设置,6个间隔的设置 */
  3. background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15)
  4. 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%,
  5. rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
  6. background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%,
  7. transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%,
  8. rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
  9. background-size: 40px 40px; /* 以每40像素为一个块进行背景显示 */
  10. }

而其他颜色下的条纹样式,因为都已经设置了颜色,所以也会相应地变化。

Bootstrap在上述4个背景颜色设置的时候也重复了线性渐变的代码,但其实是没必要的,因为.progress-striped .progress-bar样式已经设置了,而有了其他颜色设置的时候,这两个颜色也是存在的,所以不需要多此一举。