用css3渐变背景实现进度条

在开发中, 时不时会遇到写进度条的功能, 比如投票比例, 视频播放进度, 文件上传进度...

需求分析

如果需要考虑兼容性的话,使用css3渐变并不是最好的方案;
具体兼容大家可以自行查看 Can i use radial-gradient;

使用了 自定义属性线性渐变径向渐变

实现效果

用css3渐变背景实现进度条

代码:

html部分

  <div class="progress"></div>

css部分

  .progress {
    --color: green;
    --percentage: 50;
    height: 50px;
    border-radius: 30px;
    background-color: rgba(0, 0, 0, .1);
    width: 100%;
    background-image: radial-gradient(
        closest-side circle at calc(var(--percentage) * 1%),
        var(--color),
        var(--color) 100%,
        transparent),
      linear-gradient(var(--color), var(--color));
    background-size: 100%, calc(var(--percentage) * 1%);
    background-repeat: no-repeat;
  }

属性介绍

radial-gradient

radial-gradient MDN 文档;

background: radial-gradient(center, shape, size, start-color, ..., last-color);

center : 渐变起点的位置,可以为百分比,默认是图形的正中心。

shape : 渐变的形状,ellipse表示椭圆形,circle表示圆形。默认为ellipse,如果元素形状为正方形的元素,则ellipsecircle显示一样。

size : 渐变的大小,即渐变到哪里停止,它有四个值。

closest-side

  • 最近边 : closest-side
  • 最远边 : farthest-side
  • 最近角 : closest-corner
  • 最远角 : farthest-corner

linear-gradient

linear-gradient MDN 文档;

background: linear-gradient(angle, side-or-corner, color-stop);

angle : 角度

side-or-corner : 描述渐变线的起始点位置 left or right or top or bottom

color-stop : 结束颜色;

第二种实现方法

比较简单, 贴出来方便自己以后复制 (使用两个div实现)

进度条

html部分

  <div class="progress-container">
    <div class="progress"></div>
  </div>

css部分

  .progress-container,
  .progress-container .progress {
    width: 100%;
    height: 30px;
    border-radius: 15px;
    overflow: hidden;
  }

  .progress-container {
    background-color: rgba(0, 0, 0, .1)
  }

  .progress-container .progress {
    width: 30%;
    background-color: red;
  }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • CSS3 radial-gradient径向渐变语法及辅助理解案例10则 这篇文章发布于 2017年11月23日,...
    小杰的简书阅读 7,490评论 0 1
  • CSS3 渐变(gradient)可以让你在两个或多个指定的颜色之间显示平稳的过渡。 以前,你必须使用图像来实现这...
    溜溜球的嘛阅读 2,865评论 0 0
  • CSS3 渐变 CSS3 渐变(gradient)可以让你在两个或多个指定的颜色之间显示平稳的过渡。 以前,你必须...
    Eric_V阅读 3,030评论 0 1
  • 交易或事项对会计等式的影响 企业发生交易或事项按期对财务状况的是的影响不同,可以分为以下九种基本类型 1.一项资产...
    做不做我lan阅读 2,286评论 0 0
  • “远离纷争才能永存。”那声音一直在重复这句话。 鹿感觉有几千个人在随意在自己的脑子里讲话,他们各顾各的,嘈杂一片,...
    蓝皮皮阅读 1,400评论 0 2

友情链接更多精彩内容