信息发布→ 登录 注册 退出

如何用 SVG 实现一个自适应水塔形状的进度条,并根据进度值动态调整水面高度和颜色?

发布时间:2024-11-11

点击量:

如何用 SVG 实现一个自适应水塔形状的进度条,并根据进度值动态调整水面高度和颜色?

前端 不规则进度条,求好的思路?

问题:

  • 制作一个不规则的进度条,其外观是一个水塔,水面随进度动态调整高度。
  • 进度低于 20% 时显示为红色,其余进度显示为绿色。
  • 整体尺寸应自适应父布局。

思路:

  • 使用 SVG 图片作为进度条,利用 clip-path 进行裁切显示水面上升效果。
  • 根据进度值动态修改 clip-path 的高度,即可实现水面高度动态变化。
  • 使用 CSS 设置进度条颜色,满足低于 20% 红色,其余进度绿色的要求。
  • 为了自适应父布局,使用 vw 和 vh 单位进行尺寸设置。

代码示例:

<svg class="progress-bar" width="100vw" height="100vh" viewBox="0 0 120 120">
  <defs>
    <mask id="water-mask">
      <rect width="100%" height="100%" fill="white" />
    </mask>
  </defs>
  <path id="water" mask="url(#water-mask)" d="M50 100...[水塔轮廓路径]" fill="blue" />
</svg>
标签:
在线客服
服务热线

服务热线

13331157271

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

微信号:

(点击微信号复制,添加好友)

打开微信

微信号已复制,请打开微信添加咨询详情!