2013-01-03 4 views
8

私は最近 があることが、インターネット上で閲覧textArea local to SVGSVG 1.2の実装方法Tiny textArea?

私は例を使用してHTML5要素内Chromeでそれをテストし、 が、それは表示されません(私は、テキストの折り返し目的のためにこれを必要な場合があります) textArea要素 誰もがSVG textAreaを正しく実装する方法を知っていますか? SVG 1.2がまだサポートされていない可能性がありますか? (私は通常のSVG 1.1でしか働いていませんでした)

+0

とhtml textareaについてはどうなっていますか? – philipp

+0

私は最後の手段として既にそれを保存しましたが、svg内でforeignObjectの代わりにsvgの要素を使用するとより効率的になります –

+0

これは同様の質問です:http://stackoverflow.com/questions/4991171/auto-line -wrapping-in-svg-text –

答えて

10

UAがフィーチャー文字列http://www.w3.org/Graphics/SVG/feature/1.2/#TextFlowをサポートしているかどうかをチェックし、そうでなければSVG textAreaを表示します。そうでなければ、foreignObjectの中にhtmlテキストエリアを表示します。

<switch> 
    <g requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#TextFlow"> 
     <textArea width="200" height="300">whatever</textArea> 
    </g> 
    <foreignObject width="200" height="300"> 
     <textArea xmlns="http://www.w3.org/1999/xhtml" style="width: 200px;height: 300px">otherwise</textArea> 
    </foreignObject> 
</switch> 
+0

ChromeとIEでテストしましたが、テキストフロー機能文字列をサポートしていませんでした。ブラウザ機能があれば教えてください。 –

+1

現時点ではオペラだけAFAIK。 –

+2

requiredFeaturesの文字列は正しいですが、http://www.w3.org/TR/SVGTiny12/feature.html#specificが参考になります。 –