使用 D3 过渡动画与使用 CSS 动画动画

Utk*_*ena 5 css d3.js

我试图确定使用 D3.transition 在元素上应用动画或使用 CSS 动画/关键帧之间是否有区别。有优选的方式吗?其中一个比另一个性能更好吗?

示例:我想要<circle>在不透明度 0.5 和 1 之间无限地设置动画,使其具有脉动动画。

我可以这样做:

function pulsatingAnimation() {
    circleSelection.transition()
        .duration(1000)
        .attr('opacity', 0.5)
        .transition()
        .duration(1000)
        .attr('opacity', 1)
        .on('end', pulsatingAnimation);
}
Run Code Online (Sandbox Code Playgroud)

或者在我的 CSS 文件中

.circle { animation: pulse 1s ease infinite alternate; }
@keyframes pulse {
  0% {
    opacity: 0.5;
  }

  100% {
   opacity: 1;
  }
}
Run Code Online (Sandbox Code Playgroud)

谢谢!