Я использую D3.js
Я хотел бы найти SVG-эквивалент этого CSS-класса, который добавляет эллипсы, если текст вытекает из содержащего его div:
.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>);
}
Это мой SVG:
<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>
Он генерируется следующим образом:
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;
});
В настоящее время текст переполняется и перекрывает прямоугольный элемент.
Можно ли как-то сказать "если текст больше определенной ширины, обрезать его и добавить эллипсы"?