如何使用 HTML 和 CSS 设置进度条的颜色?

csshtmlweb developmentfront end technology更新于 2024/3/25 22:04:17

在 Web 开发中,进度条是网站的重要组成部分。进度条显示流程的进度。借助它,用户可以查看网站上正在进行的工作状态,包括加载时间、文件上传、文件下载和其他类似任务。默认情况下,进度条显示为灰色。但是,为了使进度条更加醒目且更具视觉吸引力,可以使用 HTML 和 CSS 更改其颜色。

什么是进度条?

进度条用于显示任务的进度。它是一种图形用户界面元素。它基本上由一个水平条组成,随着任务的进展逐渐填充,并伴随百分比值或其他完成指示。进度条在 Web 应用程序中用于向用户反馈完成某个过程(例如文件上传、文件下载或软件安装)所需的时间。

使用 HTML 创建进度条

HTML 标记用于创建进度条。在 HTML5 中,进度条使用 <progress> 元素创建。以下是使用 HTML 创建基本进度条的示例 -

<progress value="30" max="100"></progress>

在上面的示例中,我们创建了一个进度条,为了将进度条显示为完成 30%,value 属性设置为 30。max 属性设置为 100。

示例 1

以下是使用 HTML 创建基本进度条的完整代码示例

<!DOCTYPE html>
<html>
<style>
   body {
      text-align: center;
   }
</style>
<body>
   <h2>Create a basic progress bar Using HTML</h2>
   <progress value="30" max="100"></progress>
   </body>
</html>

设置进度条样式

创建进度条后,我们可以使用 CSS 为其设置样式并设置颜色。CSS 为开发者提供了 ::-webkit-progress-value 伪元素来设置进度条的颜色。以下是在进度条上应用 CSS 样式的示例。

progress {
   width: 300px;
   height : 25px;
   border: 2px solid gray;
}
progress::-webkit-progress-bar {
   background-color: green;
}
progress::-webkit-progress-value {
   background-color: red;
}

我们同时定位到 ::-webkit-progress-bar 和 ::-webkit-progress-value 伪元素,并设置它们的背景颜色。此外,我们还通过定位 <progress> 元素来设置进度条的高度和宽度。

示例 2

以下是使用 HTML 和 CSS 创建进度条的完整代码示例。

<!DOCTYPE html>
<html>
<head>
   <style>
      body {
         text-align: center;
      }
      progress {
         width: 300px;
         height: 25px;
         border: 2px solid gray;
      }
      progress::-webkit-progress-bar {
         background-color: green;
      }
      progress::-webkit-progress-value {
         background-color: red;
      }
   </style>
</head>
<body>
   <h2>Create progress bar Using HTML and CSS</h2>
   <progress value="30" max="100"></progress>
</body>
</html>

向进度条添加文本

通过在进度条中添加文本,可以向用户提供更多信息。为此,我们使用 ::-webkit-progress-bar 伪元素和 ::-webkit-progress-value 伪元素创建两个图层,其中进度值图层位于进度条图层之上。例如 -

progress {
   position: absolute;
   height: 24px;
   width: 300px;
   border: 1px solid #fff;
}
progress::before {
   content: "Loading: " attr(value) "%";
   position: absolute;
   width: 100%;
   text-align: center;
   font-size: 18px;
   color: blue;
}
progress::-webkit-progress-bar {
   background-color: orange;
}
progress::-webkit-progress-value {
   background-color: red;
}

在上面的示例中,我们向 <progress> 元素添加了一个 ::before 伪元素。它将在进度条顶部以文本形式显示进度值。我们还将文本固定在进度条的中心位置,并将其字体大小设置为 18px。

示例 3

以下是向进度条添加文本的完整代码示例。

<!DOCTYPE html>
<html>
<head>
   <style>
      progress {
         position: absolute;
         height: 24px;
         width: 500px;
         border: 1px solid #fff;
      }
      progress::before {
         content: "Loading: " attr(value) "%";
         position: absolute;
         width: 100%;
         text-align: center;
         font-size: 18px;
         color: blue;
      }
      progress::-webkit-progress-bar {
         background-color: orange;
      }
      progress::-webkit-progress-value {
         background-color: red;
      }
   </style>
</head>
<body>
   <h3>Create progress with additional information bar Using CSS</h3>
   <progress value="30" max="100"></progress>
</body>
</html>

结论

以上,我们讨论了进度条是网页开发中一个非常有价值的工具。它向用户提供网站上工作进度的反馈。它还可以进行自定义,以更好地匹配网站的整体设计。


相关文章


有用资源