M.Bostock's wrap functionを使用してテキストを折り返していますが、それを正当化する方法が見つかりません。d3jsを使ってSVGテキストを正当化することは可能ですか?
これはd3でも可能ですか? そうでなければ、この種のテキスト処理を「模倣する」方法がありますか?
編集:Logikos提案のおかげで、M.Bostockのthis exampleがforeignObject
をsvg
に入れています。ここで
は抜粋です:
var svg = d3.select("body").append("svg")
.attr("width", 960)
.attr("height", 500);
svg.append("foreignObject")
.attr("width", 480)
.attr("height", 500)
.append("xhtml:body")
.style("font", "14px 'Helvetica Neue'")
.html("<h1>An HTML Foreign Object in SVG</h1><p>Veeery long text");
次に、あなただけのCSSに追加する必要があります。
body {text-align: justify;
text-align-last: start;
}
...他に、それはややそれをサポートしていると言い、サイトはそれをサポートしていないと言う一つの場所に、IEとエッジでそれを確認する必要があります: 'foreignObject'」はdoesnのすべてのブラウザで動作します。 –
また、 "SVG"をタイトルに追加しました。* "D3 text" *のようなものはありません。ここでの問題はD3ではなくSVGです。 –
@ GerardoFurtadoは正解ですが、サポートはそれほど悪くはありません - http://caniuse.com/#search=foreignObjectオペラミニ以外のほとんどの部分は、あなたがしたいことで動作します。しかし、フィルタリング効果にはいくつかの制限があることを知っています。 – Logikos