D3.js D3/SVG。如何将子svg元素定位在其父元素';什么程度?

D3.js D3/SVG。如何将子svg元素定位在其父元素';什么程度?,d3.js,svg,hierarchical-data,D3.js,Svg,Hierarchical Data,使用d3我有一个svg元素,我想作为子svg元素层次结构的父元素。扭曲之处在于我希望子对象的位置超出其父范围: var svg, group; svg = d3.select("body") .append("svg") .attr("width", 200) .attr("height", 100); group = svg .append("g") .attr("transform", "translate(" + 400 + "," +

使用
d3
我有一个
svg
元素,我想作为子
svg
元素层次结构的父元素。扭曲之处在于我希望子对象的位置超出其父范围:

var svg,
    group;

svg = d3.select("body")
    .append("svg")
    .attr("width",  200)
    .attr("height", 100);

group = svg
    .append("g")
    .attr("transform", "translate(" + 400 + "," + 300 + ")");

group
    .append("rect")
    .attr("x", "0")
    .attr("y", "0")
    .attr("width", "300")
    .attr("width", "150");
如果我运行这段代码,rect将不可见,由其父级剪裁。如何禁用此家长剪辑?

元素上设置“可见”。例如

var svg,
组;
svg=d3。选择(“主体”)
.append(“svg”)
.attr(“宽度”,200)
.attr(“高度”,100)
.attr(“溢出”、“可见”);
组=svg
.附加(“g”)
.attr(“转换”、“转换”(+400+)、“+300+”);
组
.append(“rect”)
.attr(“x”、“0”)
.attr(“y”、“0”)
.attr(“宽度”、“300”)
.attr(“高度”、“150”)
html,正文{
宽度:100%;
身高:100%;
}


@RobertLongson cool不知道这一点。谢谢你的回答!干杯,罗伯特。罗伯特,你有没有想过为什么溢出不是svg元素的默认行为?包含和层次结构通常是独立的。我认为行星围绕太阳运行。层次链接等。实际上,任何嵌套的转换层次。只是好奇,因为SVG规范这么说。请参见答案中的链接。svg2规范已更改为在html中内联时将最外层svg的默认值设置为
overflow:visible
,但并非所有浏览器都这样做。感谢Erik提供的提示。