【问题标题】:How Can I draw a Svg with two semicirlces having different colours and apply animations to it如何绘制具有不同颜色的两个半圆的 Svg 并对其应用动画
【发布时间】:2020-10-06 19:40:37
【问题描述】:

我可以通过简单地将样式应用于 div 并为动画应用关键帧来使用 css 实现这一点 代码看起来像这样

.loader {
  margin: 10px auto;
  font-size: 5px;
  position: relative;
  text-indent: -9999em;
  border-right: 0.75em solid #E0E3E9;
  border-bottom: 0.75em solid #E0E3E9;
  border-left: 0.75em solid #6B04A8;
  border-top: 0.75em solid #6B04A8;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
  border-radius: 50%;
  width: 30px;
  height: 30px;

}

@-webkit-keyframes load8 {
  0% {
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg);
  }

  100% {
      -webkit-transform: rotate(360deg);
      transform: rotate(360deg);
  }
}

@keyframes load8 {
  0% {
      -webkit-transform: rotate(360deg);
      transform: rotate(360deg);
  }

  100% {
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg);
  }
}
<div class="loader">Loading...</div>

所以基本上应用了两组边框颜色和 50% 的边框半径使其看起来像一个圆形并对其应用了变换。 我需要在 svg 中做同样的事情,有人可以指出我从哪里开始的正确方向,提前谢谢

【问题讨论】:

  • 你可以在codepen.io/tarunjamana/pen/ExPNVve下面的codepen中找到工作示例
  • Spinkit 这是加载图标的集合 它可能是您需要的。如果您仍然想要加载 svg,您可以使用 Figma 或 Adob​​e XD 绘制 svg,然后将 css 动画添加到加载器Animating svg css

标签: css svg


【解决方案1】:

在这种情况下,我使用的是 2 个圆。第一个(底座)有一个银色的笔触。第二个有紫色的笔划,stroke-dasharray = "125.5" 表示有 125.5 的笔划和相同大小的间隙。 125.5 也代表圆周长的一半。

圆心在svg画布的原点(0,0) 请观察svg元素的viewBox:x:-50 y:-50 width:100 height:100

svg{width:50px;display:block; margin:0 auto;}

#theCircle{animation: load8 1s linear infinite;}

@keyframes load8 {
to {
    transform: rotate(-1turn);
  }
}
<svg viewBox="-50 -50 100 100"> 
   <circle  r="40" fill="none" stroke="silver" stroke-width="10" />
  <circle id="theCircle" r="40" fill="none" stroke="rebeccapurple" stroke-width="10" stroke-dasharray = "125.5" />
</svg>

【讨论】:

  • 感谢您的意见,它帮助我开发了上述加载程序的新变体,但无法正确制作动画,请检查下面的链接并指导我。提前感谢link
猜你喜欢
  • 1970-01-01
  • 2012-03-22
  • 2013-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多