SVG动画G元素

时间:2016-11-25 09:27:07

标签: css animation svg

我目前正在学习如何使用CSS为svg对象制作动画。

我现在知道如何用以下方式设置路径动画:

@keyframes stroke_fill {
    0% {
        fill: white;
    }
    50% {
        fill: white;
        stroke-dashoffset: 0;
    }
    100% {
        fill: black;
        stroke-dashoffset: 0;
    }
}

.animation{
    animation: stroke_fill 4s ease forwards;
    stroke-dasharray: 324.774;
    stroke-dashoffset: 324.774; 
}

组合在一起的路径显示在<g>标记中 是否可以为<g>代码设置动画?

如果所有的孩子都有相同的动画,那么同时也会很好 现在我必须给每一个路径一个类,如果我运行一个复杂的svg文件需要花费很多时间。

按组进行操作可以节省大量时间。

这是一个小提琴:https://jsfiddle.net/vvvwcrdy/

1 个答案:

答案 0 :(得分:3)

是的,这是可能的。你试过吗?

演示:

@keyframes stroke_fill {
    0% {
        fill: white;
    }
    50% {
        fill: white;
        stroke-dashoffset: 0;
    }
    100% {
        fill: black;
        stroke-dashoffset: 0;
    }
}

.animation{
    animation: stroke_fill 4s ease forwards;
    stroke-dasharray: 324.774;
    stroke-dashoffset: 324.774; 
    stroke: red;
    stroke-width: 10;
}
<svg>
  <g class="animation">
    <rect x="20" y="20" width="120" height="120" />
    <rect x="160" y="20" width="120" height="120" />
  </g>
</svg>