我期待在circle
svg元素上创建简单的脉动动画。我使用的是动画transform: scale(..,..)
,但由于某种原因,它将整个圆圈移动到其容器中,而不是简单地缩放元素本身。我的<circle>在哪里?
这里的动画:
animation: pulsate 2s infinite linear;
@keyframes pulsate {
0% {transform: scale(0.1, 0.1); opacity: 0.0;}
50% {opacity: 1.0;}
100% {transform: scale(1.2, 1.2); opacity: 0.0;}
}
而这里的一个例子(包括应用到div
产生所期望的结果相同的动画):
http://codepen.io/anon/pen/jWqVyb
关于如何创建任何想法这种影响?该圆圈可能位于svg
内的任何位置,因此需要保持此位置。
伟大的信息,我不知道转换的起源是特别为svg – aw04
@ aw04是的,我不完全确定*为什么*。每个其他元素的默认值是'50%50%0'。 –
SVG规范(它是在CSS之前定义的)没有变换原点的概念,缩放定义为缩放整个坐标系统,这是一个非常简单的矩阵。将CSS和SVG融合在一起对标准人来说是一项艰巨的任务。 –