要实现一个带有透明分隔线的渐变背景进度条,你可以使用CSS的linear-gradient
来创建渐变背景,并使用repeating-linear-gradient
来添加透明分隔线。以下是一个示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>渐变背景进度条</title>
<style>
.progress-bar {
width: 100%;
height: 20px;
background:
/* 渐变背景 */
linear-gradient(to right, #4CAF50, #8BC34A),
/* 透明分隔线 */
repeating-linear-gradient(
90deg,
transparent,
transparent 10px,
rgba(255, 255, 255, 0.5) 10px,
rgba(255, 255, 255, 0.5) 20px
);
background-blend-mode: multiply;
border-radius: 10px;
overflow: hidden;
position: relative;
}
.progress-bar::before {
content: '';
display: block;
height: 100%;
width: 50%; /* 调整这个值来控制进度 */
background-color: rgba(255, 255, 255, 0.3);
border-radius: 10px;
position: absolute;
top: 0;
left: 0;
}
</style>
</head>
<body>
<div class="progress-bar"></div>
</body>
</html>
渐变背景:
linear-gradient(to right, #4CAF50, #8BC34A)
:创建一个从左到右的线性渐变背景,颜色从#4CAF50
渐变到#8BC34A
。透明分隔线:
repeating-linear-gradient(90deg, transparent, transparent 10px, rgba(255, 255, 255, 0.5) 10px, rgba(255, 255, 255, 0.5) 20px)
:创建一个重复的线性渐变,每隔10px添加一条透明的分隔线,分隔线的宽度为10px,颜色为半透明的白色。背景混合模式:
background-blend-mode: multiply;
:将渐变背景和分隔线混合在一起,使分隔线看起来像是透明的。进度条:
::before
伪元素用于表示进度条的当前进度。通过调整width
属性的值来控制进度条的进度。圆角:
border-radius: 10px;
:使进度条的边角变得圆润。.progress-bar::before
中的width
属性来控制进度条的进度。例如,设置为50%
表示进度条完成了一半。这个示例代码可以在大多数现代浏览器中正常工作。如果你需要支持旧版浏览器,可能需要添加一些浏览器前缀或使用其他技术来实现类似的效果。