我希望在rect中包含svg文本。我可以使用一種方法來比較寬度併爲文本添加換行符,但這並不乏味。如何在svg rect中包裝文本
有沒有比這更優雅的方式?也許通過使用CSS或d3?
更新:下面的代碼使用d3附加foreignObject但不顯示div。 (它是存在於代碼inspecter)
var group = d3.select("#package");
var fo = group.append("foreignObject").attr("x", 15).attr("y", 15).attr("width", 190).attr("height", 90);
fo.append("div").attr("xmlns", "http://www.w3.org/1999/xhtml").attr("style", "width:190px; height:90px; overflow-y:auto").text("Thiggfis the dgdexsgsggs wish to fit insidegssgsgs");
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
<p id="p"></p>
<svg width="220" height="120" viewBox="0 0 220 120" id="package">
<rect x="10" y="10" width="200" height="100" fill="none" stroke="black"/>
</svg>
你可以使用一個foreignObject包括HTML文本將換行。 –
@RobertLongson你能告訴我問題出在上面的代碼中嗎?我試圖使用d3來追加foreignObject和div,正如解決方案所暗示的那樣。它附加好但不顯示。爲什麼? – SachiDangalla