如何将文本偏移其高度的一半,使其垂直居中一个角度
How to offset a text by half of its height to center it vertically by an angle?
我注意到我的文本有点偏移,只有当间距有限时才会注意到这一点。它应该是居中的(这是它的基线),但当间距碰巧比平时小时,它会让它看起来向上移动。
这是一个例子:jsFiddle。一个非常明显的现象是,如果点击红色类别,数字5。然后,最黄色的字段太窄,无法容纳现在看起来的文本。
var txt = d3.svg.arc().innerRadius(30).outerRadius(90);
grx.append("text")
.attr("text-anchor", "start")
.attr("transform", function(d) {
return "translate(" + txt.centroid(d) + ")"
+ "rotate(" + getRotation(d) + ")"; })
.text(function(d) { return d.data.key; });
function getRotation(d) {
var angle = (d.startAngle + d.endAngle) / Math.PI * 90 + 90;
return angle < 90 || angle > 270 ? angle : angle - 180;
}
如何将文本偏移与渲染文本高度的一半相对应的角度?这难得离谱吗?
您可以使用dy
属性将文本翻译到底部。要将其向下移动一半高度,该值应为0.5em
。然而,从输出来看,这似乎太多了,使用0.3em
看起来更赏心悦目。
grx.append("text")
.attr("class", "legendMain")
.attr("text-anchor", getAnchor)
.attr("dy", "0.3em") // Move downwards 30 percent its height
有关工作示例,请参阅此更新JSFiddle。
相关文章:
- 简单的垂直上一个和下一个按钮代码点击上下移动jQuery
- 如何在响应视频上垂直居中文本
- 垂直居中动态UL
- 如何强制流体Vimeo iframe自动垂直居中
- 如何使我的水平亚垂直居中对齐
- 垂直居中使用Javascript的按钮潜水
- 将
垂直居中放在表格
内 - 如何在 Sigma JS 中居中一个节点
- Google Maps API v3 - fitBounds 仅居中一个标记
- 垂直居中上传的图像预览
- 当模态有时大于屏幕时,我如何水平/垂直居中模式弹出窗口
- 花式框 2.1.5 不随页面滚动(垂直居中)
- 在 Div 中垂直居中表格
- 将 jQuery 对话框与动态高度内容垂直居中放置
- 在引导列中垂直居中响应图像
- 使用 JS 代码在幻灯片放映中垂直居中图像
- 滚动窗口中的垂直居中
- 使用 JQuery 水平和垂直居中 img
- 在垂直居中的 DIV 上设置最小顶部
- 如何将文本偏移其高度的一半,使其垂直居中一个角度