32

要素に設定overflow: visibleすることは可能ですか?<svg>

jsfiddle のこの簡単な例は、アクセスできるすべてのブラウザー (Chrome と Firefox の一部のバージョン) で動作するため、overflow: hidden.

svg サポートがまだ未熟すぎてそのような単純なことを実行できないのか、それともコードで何か間違ったことをしているのか、誰か教えてもらえますか?

私の実際の使用法は、目盛りの下半分が切り取られるoverflow: visibleグラフの範囲軸です。-0

4

2 に答える 2

32

HTML のインライン <svg> 要素を意味していると思いますが、そうであれば、これは単なる実装上の制限です。IE9+ ではoverflow:visible<svg> 要素を使用できますが、これまでのところ、他のブラウザーでは認識されていません。

考えられる回避策の 1 つ (これは実際に最初に行うべき方法です) はviewBox、svg 内の座標系を定義する a を指定することです。次に、この座標系内のものを描画します。クリップされた場合 (つまり、要素がviewBox領域外にある場合)、それに応じてviewBox幅や高さを増やしてください。

特定の の適切なデフォルトについて疑問がある場合はviewBox、試してみてください[0 0 width height](幅と高さは現在の SVG のサイズです)。次に、下の目盛りが完全に表示されるまで高さを増やします。

2014 年の更新: ブラウザー間でまだ少し一貫性がありませんが、そこまで来ています。Firefox と IEoverflow:visibleはインライン svg 要素をサポートし、Blink (Opera 23/Chrome 36) もサポートを追加しました。詳細については、バグレポートを参照してください。

于 2012-09-08T13:15:56.397 に答える