3

Chrome 29、IE10、Safari 5.1 (Windows)、Safari 6.0.5 (Mac)、および Opera 16 のほとんどの最新ブラウザーで、テキスト アニメーション/スケーリングのアーティファクトが発生しています。Firefox (バージョン 23 でテスト済み) のみが正常に動作しています (すべてWindows では、Safari 6 を除きます)。

例:

http://jsfiddle.net/jejPS/1/

「uf」タグにカーソルを合わせます。テキストが拡大されます。タグを離れると、縮小中に「f」が跡を残します。

バックグラウンド:

これはタグ クラウドの一部です。SVG 要素は、会社の内部ライブラリ (jsfiddle でハードコーディング) によって生成されます。このスケーリング オン ホバー機能を追加するために実装を強化しました。

transform: scale(2) を使用するか、現在のフォントサイズ遷移 (:hover -> 2em) を使用するかは問題ではありません。これらのアーティファクトなしで CSS3/SVG-Animations を使用して svg-text 要素をスケーリングする方法を見つけられませんでした。

注: これは、'f' や 't' などの特定の文字でのみ発生するようです。しかし、私が試したすべてのフォントで

私はいくつかの回避策を試しました:

レンダリングを改善するためのさまざまな CSS3 プロパティ:

-webkit-backface-visibility: hidden;
-webkit-transform: translateZ(0); 
-webkit-transform: translate3d(0,0,0);

または使用して

-webkit-transform: scale(1.1);

さらには

<animateTransform attributeName="transform" attributeType="XML" type="scale" from="2" to="1" additive="sum" begin="mouseover" dur="1s" fill="freeze" />

上記のすべてのブラウザで同じ効果があります。

WebKit、Presto (Opera)、Internet Explorer 10 のすべてに同じレンダリング バグがあるとは思えないため、まだバグ レポートを提出していません。私がまだ気づいていない、SVG 内のテキストをスケーリングする別の方法があることを願っています。

助けてくれてありがとう!

編集:タイプミス

4

2 に答える 2