Tôi đang sử dụng D3.js. Tôi muốn tìm một SVG tương đương với lớp CSS này, có thêm elip nếu văn bản chảy ra khỏi div chứa của nó:Thêm dấu ba chấm vào văn bản tràn trong SVG?
.ai-ellipsis {
display: block;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
-moz-binding: url(<q>assets/xml/ellipsis.xml#ellipsis</q>);
}
Đây là SVG của tôi:
<g class="bar" transform="translate(0,39)">
<text class="label" x="-3" y="6.5" dy=".35em" text-anchor="start">Construction</text>
<rect height="13" width="123"></rect>
</g>
Nó tạo ra như sau:
barEnter.append("text").attr("class", "label")
.attr("x", -3).attr("y", function() { return y.rangeBand()/2})
.attr("dy", ".35em").attr("text-anchor", "start")
.text(function(d) {
return d.Name;
});
Hiện tại văn bản đang tràn và chồng chéo phần tử trực tiếp.
Có cách nào tôi có thể nói "nếu văn bản có chiều rộng lớn hơn, cắt và thêm dấu ba chấm" không?
FYI: 'foreignObject' không hoạt động trong bất kỳ phiên bản của IE mặc dù. – WiredPrairie
Xem https://svgwg.org/svg2-draft/text.html#TextOverflowProcessing (Opera/Presto thực hiện việc này, ví dụ tại đây: http: //dahlström.net/svg/css/text-overflow-ellipsis.svg) . –