css样式实例

179 阅读1分钟

实现一个加载进度的动态圆环

  • 径向渐变: radial-gradient( )
  • 圆锥渐变:conic-gradient( )

用径向渐变和圆锥渐变实现动态圆环

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    #cycle{
      width: 300px;
      height: 300px;
      line-height: 300px;
      border-radius: 50%;
      text-align: center;
    }
  </style>
</head>
<body>
  <div id="cycle"></div>

  <script>
    const cycleEle =  document.querySelector("#cycle")
    window.onload = () => {
        let index = 0
        const interval = setInterval(() => {
          cycleEle.style.background = `radial-gradient(white 120px, transparent 120px),
                              conic-gradient(#91eaff ${index}%, transparent ${index}%)`
          cycleEle.innerHTML = index + "%"
          index++
          if (index > 100) {
            clearInterval(interval)
          }
        }, 20)
      }
  </script>
</body>
</html>