首页 文章

d3.js中的默认SVG位置

提问于
浏览
1

我想了解为什么我的SVG定位 outside SVG容器元素而不是默认位于x:0 / y0坐标?

CSS: 最小(如果没有CSS,只删除文档正文中的边距/填充)

Javascript:

var svg = d3.select('div#map').append('svg:svg');
svg.append('svg:g')
    .append('svg:text')
    .text('Hello word')
    //.attr('x', 0)
    //.attr('y', 0)
    .attr('fill', 'red');

HTML:

<div class="map" id="map"></div>

文本元素在那里,填充红色和可见但在屏幕的左上角溢出 . 为什么SVG元素默认位于顶部/左侧0px 0px?

演示:http://jsfiddle.net/qt0k6tz1/1/

1 回答

  • 3

    文本元素的原点是文本基线的左手边缘,用于从左到右文本 .

    基线是大多数字符的底部点,有些像g,y,p等下降到它下面 . Hello world没有下降器的字符,所以你根本看不到它 .

    CSS properties可以改变这一点,如对齐基线和显性基线 . 请注意,并非所有UA都支持所有属性 .

相关问题