首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SVG进度条

SVG进度条
EN

Stack Overflow用户
提问于 2016-07-18 20:57:31
回答 4查看 7.6K关注 0票数 16

我有一个需求,需要动态加载js文件,并通过SVG图标显示加载文件的进度。SVG图标将作为进度条,从下到上线性填充一种颜色。

这是codepen

代码语言:javascript
复制
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="79.36px" height="93.844px" viewBox="0 0 79.36 93.844">

  <path fill="transparent" stroke="black" d="M50,2C30-4,8,7,2,28c-6,20,5,42,26,48h0l-4,15l33-18c0-0,0-0,1-0l0-0l-0-0c8-4,15-12,17-22C83,30,71,8,50,2z" />
</svg>

我计划让这个图标独立,这样我只会动态传递百分比值。

不知何故,我能够完成动画,但不能保持svg的边框或轮廓。这是code

代码语言:javascript
复制
#progressMove {
  transition: .3s y;
}
#progressMove:hover {
  y: 60%;
}
代码语言:javascript
复制
<svg id="kenseoProgress" width="79.36px" height="93.844px" viewBox="0 0 79.36 93.844">
  <defs>
    <mask id="bubbleKenseo">
      <path fill="red" stroke="black" d="M50,2C30-4,8,7,2,28c-6,20,5,42,26,48h0l-4,15l33-18c0-0,0-0,1-0l0-0l-0-0c8-4,15-12,17-22C83,30,71,8,50,2z" />
    </mask>
  </defs>
  <g x="0" y="0" width="79.36px" height="93.844px" mask="url(#bubbleKenseo)" height="100">
    <rect id="progressMove" x="0" y="0%" width="100%" height="100%" fill="blue" stroke="black" />
  </g>
</svg>

所以,我遇到的问题是:

  • 无法维护SVG
  • 的边框,无论我添加什么颜色都有某种我无法保持浏览器兼容性的不透明度: IE11+,chrome,safari和firefox

附言:我不想使用SMIL动画。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38437325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档