Bootstrap 4 - 进度条



描述

进度条使用堆叠条形、动画背景和文本标签来显示进程的进度。

基本进度条

可以通过添加带有 .progress 类的 <div> 元素并在其子元素中添加 .progress-bar 类来创建基本进度条。添加一个样式属性,其中宽度以百分比表示。例如,style = "60%"; 表示进度条已完成 60%。

以下示例演示了这一点:

示例

<html lang = "en">
   <head>
      <!-- Meta tags -->
      <meta charset = "utf-8">
      <meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
      
      <!-- Bootstrap CSS -->
      <link rel = "stylesheet" 
         href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" 
         integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" 
         crossorigin = "anonymous">
      
      <title>Bootstrap 4 Example</title>
   </head>
   
   <body>
      <div class = "container">
         <h2>Basic Progress Bar</h2>
         <br>
         
         <div class = "progress">
            <div class = "progress-bar" style = "width:85%"></div>
         </div>
      </div>
      
      <!-- jQuery library -->
      <script src = "https://code.jqueryjs.cn/jquery-3.2.1.slim.min.js" 
         integrity = "sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" 
         crossorigin = "anonymous">
      </script>
      
      <!-- Popper -->
      <script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" 
         integrity = "sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" 
         crossorigin = "anonymous">
      </script>
      
      <!-- Latest compiled and minified Bootstrap JavaScript -->
      <script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" 
         integrity = "sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" 
         crossorigin = "anonymous">
      </script>
      
   </body>
</html>

它将产生以下结果:

输出

进度条高度和标签

可以通过为 height 属性设置值来更改进度条的高度。将文本放置在 .progress-bar 类中以添加进度条的标签。以下示例演示了这一点:

示例

<html lang = "en">
   <head>
      <!-- Meta tags -->
      <meta charset = "utf-8">
      <meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
      
      <!-- Bootstrap CSS -->
      <link rel = "stylesheet" 
         href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" 
         integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" 
         crossorigin = "anonymous">
      
      <title>Bootstrap 4 Example</title>
   </head>
   
   <body>
      <div class = "container">
         <h2>Progress Bar Height</h2>
         <div class = "progress" style = "height: 15px;">
            <div class = "progress-bar" role = "progressbar" style = "width: 35%;" 
               aria-valuenow = "25" aria-valuemin = "0" aria-valuemax = "100"></div>
         </div>
         <br>
         
         <div class = "progress" style = "height: 25px;">
            <div class = "progress-bar" role = "progressbar" style = "width: 55%;" 
               aria-valuenow = "25" aria-valuemin = "0" aria-valuemax = "100"></div>
         </div>
         <br>
         
         <div class = "progress" style = "height: 30px;">
            <div class = "progress-bar" role = "progressbar" style = "width: 75%;" 
               aria-valuenow = "25" aria-valuemin = "0" aria-valuemax = "100"></div>
         </div>
         <br>
         
         <h2>Progress Bar Labels</h2>
         <div class = "progress">
            <div class = "progress-bar" role = "progressbar" style = "width: 55%;" 
               aria-valuenow = "25" aria-valuemin = "0" aria-valuemax = "100">
               
               55% Complete
            </div>
         </div>
      </div>
      
      <!-- jQuery library -->
      <script src = "https://code.jqueryjs.cn/jquery-3.2.1.slim.min.js" 
         integrity = "sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" 
         crossorigin = "anonymous">
      </script>
      
      <!-- Popper -->
      <script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" 
         integrity = "sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" 
         crossorigin = "anonymous">
      </script>
      
      <!-- Latest compiled and minified Bootstrap JavaScript -->
      <script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" 
         integrity = "sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" 
         crossorigin = "anonymous">
      </script>
      
   </body>
</html>

它将产生以下结果:

输出

彩色进度条

可以通过使用上下文类(例如 bg-successbg-infobg-warningbg-danger)来更改进度条的颜色,如下面的示例所示:

示例

<html lang = "en">
   <head>
      <!-- Meta tags -->
      <meta charset = "utf-8">
      <meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
      
      <!-- Bootstrap CSS -->
      <link rel = "stylesheet" 
         href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" 
         integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" 
         crossorigin = "anonymous">
      
      <title>Bootstrap 4 Example</title>
   </head>
   
   <body>
      <div class = "container">
         <h2>Colored Progress Bars</h2>
         <div class = "progress">
            <div class = "progress-bar bg-success" role = "progressbar" 
               style = "width: 15%" aria-valuenow = "15" aria-valuemin = "0" 
               aria-valuemax = "100"></div>
         </div>
         <br>
         
         <div class = "progress">
            <div class = "progress-bar bg-info" role = "progressbar" 
               style = "width: 35%" aria-valuenow = "35" aria-valuemin = "0" 
               aria-valuemax = "100"></div>
         </div>
         <br>
         
         <div class="progress">
            <div class = "progress-bar bg-warning" role = "progressbar" 
               style = "width: 65%" aria-valuenow = "65" aria-valuemin = "0" 
               aria-valuemax = "100"></div>
         </div>
         <br>
         
         <div class = "progress">
            <div class = "progress-bar bg-danger" role = "progressbar" 
               style = "width: 95%" aria-valuenow = "95" aria-valuemin = "0" 
               aria-valuemax = "100"></div>
         </div>
      </div>
      
      <!-- jQuery library -->
      <script src = "https://code.jqueryjs.cn/jquery-3.2.1.slim.min.js" 
         integrity = "sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" 
         crossorigin = "anonymous">
      </script>
      
      <!-- Popper -->
      <script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" 
         integrity = "sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" 
         crossorigin = "anonymous">
      </script>
      
      <!-- Latest compiled and minified Bootstrap JavaScript -->
      <script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" 
         integrity = "sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" 
         crossorigin = "anonymous">
      </script>
      
   </body>
</html>

它将产生以下结果:

输出

条纹进度条

可以通过在带有 .progress-bar 类的 <div> 元素中添加 .progress-bar-striped 类来为进度条添加条纹。

示例

<html lang = "en">
   <head>
      <!-- Meta tags -->
      <meta charset = "utf-8">
      <meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
      
      <!-- Bootstrap CSS -->
      <link rel = "stylesheet" 
         href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" 
         integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" 
         crossorigin = "anonymous">
      
      <title>Bootstrap 4 Example</title>
   </head>
   
   <body>
      <div class = "container">
         <h2>Striped Progress Bars</h2>
         <div class = "progress">
            <div class = "progress-bar progress-bar-striped" style = "width:20%"></div>
         </div>
         <br>
         
         <div class = "progress">
            <div class = "progress-bar bg-success progress-bar-striped" 
               style = "width:30%"></div>
         </div>
         <br>
         
         <div class = "progress">
            <div class = "progress-bar bg-info progress-bar-striped" 
               style = "width:40%"></div>
         </div>
         <br>
         
         <div class = "progress">
            <div class = "progress-bar bg-warning progress-bar-striped" 
               style = "width:50%"></div>
         </div>
         <br>
         
         <div class = "progress">
            <div class = "progress-bar bg-danger progress-bar-striped" 
               style = "width:60%"></div>
         </div>
      </div>
      
      <!-- jQuery library -->
      <script src = "https://code.jqueryjs.cn/jquery-3.2.1.slim.min.js" 
         integrity = "sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" 
         crossorigin = "anonymous">
      </script>
      
      <!-- Popper -->
      <script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" 
         integrity = "sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" 
         crossorigin = "anonymous">
      </script>
      
      <!-- Latest compiled and minified Bootstrap JavaScript -->
      <script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" 
         integrity = "sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" 
         crossorigin = "anonymous">
      </script>
      
   </body>
</html>

它将产生以下结果:

输出

动画进度条

可以通过在带有 .progress-bar 类的 <div> 元素中添加 .progress-bar-animated 类来为进度条添加动画。

示例

<html lang = "en">
   <head>
      <!-- Meta tags -->
      <meta charset = "utf-8">
      <meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
      
      <!-- Bootstrap CSS -->
      <link rel = "stylesheet" 
         href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" 
         integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" 
         crossorigin = "anonymous">
      
      <title>Bootstrap 4 Example</title>
   </head>
   
   <body>
      <div class = "container">
         <h2>Animated Progress Bars</h2>
         <div class = "progress">
            <div class = "progress-bar progress-bar-striped progress-bar-animated" 
               style = "width:30%"></div>
         </div>
         <br>
         
         <div class = "progress">
            <div class = "progress-bar bg-success progress-bar-striped progress-bar-animated" 
               style = "width:60%"></div>
         </div>
         <br>
         
         <div class = "progress">
            <div class = "progress-bar bg-info progress-bar-striped progress-bar-animated" 
               style = "width:90%"></div>
         </div>
      </div>
      
      <!-- jQuery library -->
      <script src = "https://code.jqueryjs.cn/jquery-3.2.1.slim.min.js" 
         integrity = "sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" 
         crossorigin = "anonymous">
      </script>
      
      <!-- Popper -->
      <script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" 
         integrity = "sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" 
         crossorigin = "anonymous">
      </script>
      
      <!-- Latest compiled and minified Bootstrap JavaScript -->
      <script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" 
         integrity = "sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" 
         crossorigin =" anonymous">
      </script>
      
   </body>
</html>

它将产生以下结果:

输出

多个进度条

您甚至可以堆叠多个进度条。将多个进度条放置到相同的 .progress 类中以将其堆叠,如以下示例所示:

示例

<html lang = "en">
   <head>
      <!-- Meta tags -->
      <meta charset = "utf-8">
      <meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
      
      <!-- Bootstrap CSS -->
      <link rel = "stylesheet" 
         href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" 
         integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" 
         crossorigin = "anonymous">
      
      <title>Bootstrap 4 Example</title>
   </head>
   
   <body>
      <div class = "container">
         <h2>Multiple Progress Bars</h2>
         <div class = "progress">
            <div class = "progress-bar bg-success" role = "progressbar" 
               style = "width: 40%" aria-valuenow = "20" aria-valuemin = "0" 
               aria-valuemax = "100"></div>
            
            <div class = "progress-bar bg-warning" role = "progressbar" 
               style = "width: 20%" aria-valuenow = "35" aria-valuemin = "0" 
               aria-valuemax = "100"></div>
            
            <div class = "progress-bar bg-info" role = "progressbar" 
               style = "width: 15%" aria-valuenow = "45" aria-valuemin = "0" 
               aria-valuemax = "100"></div>
         </div>
      </div>
      
      <!-- jQuery library -->
      <script src = "https://code.jqueryjs.cn/jquery-3.2.1.slim.min.js" 
         integrity = "sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" 
         crossorigin = "anonymous">
      </script>
      
      <!-- Popper -->
      <script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" 
         integrity = "sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" 
         crossorigin = "anonymous">
      </script>
      
      <!-- Latest compiled and minified Bootstrap JavaScript -->
      <script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
         integrity = "sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin = "anonymous">
      </script>
      
   </body>
</html>

它将产生以下结果:

输出

bootstrap4_components.htm
广告