2017-11-16 7 views
0

SVGのパス上にアニメーションを作成したいと思います。同じ起点で前後に縮尺が変わります。問題は私の現在の解決策がChrome上では動作しますが、Firefoxでは動作しません。同じ起点でSVGのパスをどのようにスケールするのですか?

.svg-map-pg-logo { 
    animation-name: star; 
    animation-duration: 0.5s; 
    animation-iteration-count: infinite; 
} 

@keyframes star { 
    0% { 
     transform: scale(1, 1); 
     transform-origin: center center; 
    } 
    100% { 
     transform: scale(1.2, 1.2); 
     transform-origin: center center; 
    } 
} 

firefoxでは、パスは方向に移動しながら縮尺されます。 Chrome上では、元の起点でスケーリングされます。スケールを動かさないようにするには?

これは、Firefoxに何が起こるかです: enter image description here

これはChromeと私が欲しいの上に何が起こるかです: enter image description here

https://codepen.io/joshuajazleung/pen/jaaPwW

+0

https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/scale Firefoxがそのルールに従って動作しているようです。 – Rikin

答えて

2

あなたはボックス変換したい:フィルボックス。

.svg-map-pg-logo { 
    animation-name: star; 
    animation-duration: 0.5s; 
    animation-iteration-count: infinite; 
    transform-origin: center center; 
    transform-box: fill-box; 
} 

@keyframes star { 
    0% { 
     transform: scale(1, 1); 
    } 
    100% { 
     transform: scale(1.2, 1.2); 
    } 
} 

変換元が中央に設定されていると、Chromeのデフォルトは正しくありません。

+0

パーフェクト!ありがとう –

関連する問題