2017-07-12 7 views
0

私はSVGとPNGと同じオブジェクトを持っています。 私はルールのこれらのセットでそれらをアニメーション化しようとしています:ここSVG/HTML要素間のCSSアニメーションの違い

@-webkit-keyframes rotate-right { 
    from { 
    -webkit-transform: rotate(0deg); 
    } 
    to { 
    -webkit-transform: rotate(360deg); 
    } 
} 
#airplane { 
    transform-origin: 200px 200px; 
    animation: rotate-right 6s linear 0s infinite; 
} 

は同じルールでアニメーションしています。 なぜ、SVGアニメーションは非常によく見えますが、HTMLアニメーションはそれ自身の軸を中心に回転するように見えますか?

SVG Animation

HTML Animation

+1

HTMLアニメーションは、それ自身の軸の周りを回転しません。 – ideaboxer

+0

あなたのHTMLバージョンが壊れています。ありがとう。 –

答えて

3

ありませんあなたがないSVGとしておよびPNG

と私は同じオブジェクトを持っています。あなたのアニメーションは完全に異なっています。

  1. PNGとSVGのサイズ、形状、レイアウトはまったく異なります。
  2. PNG全体がアニメーション化されています
  3. SVGにはアニメーションが1つ含まれています。
  4. transform-origin<g>)の要素は、HTML要素のtransform-originとは別に動作します。 SVGの内部では、viewBoxの影響を受けます。
+0

ありがとう。 'transform-origin'がElemengとHTML要素で動作する方法の違いについての参考資料はありますか? – LiranC

+1

SVG内のすべての座標は 'viewBox'の影響を受けます。それがSVGの仕組みです。そのため、SVGの '200px、200px'の変換元は' viewBox'が '0 0 200 200" 'なのでSVGの右下隅に対応します。これは、SVGが表示されているサイズに関係なく適用されます。ただし、PNGはページ上のポイント(200ピクセル、200ピクセル)を中心に回転しています。どのようにPNGに影響を与えるかは、ページの大きさや場所によって異なります。説明のおかげで –

+0

。 – LiranC

関連する問題