Javascript d3引导,响应性地对中svg

Javascript d3引导,响应性地对中svg,javascript,css,twitter-bootstrap,d3.js,svg,Javascript,Css,Twitter Bootstrap,D3.js,Svg,我有一个D3SVG,我想保持居中。我试着做一个课程: .tocenter { margin: 0 auto; } 然而,这是行不通的。我还尝试过将svg包装到一些div中,但我一定是做错了什么。有什么建议吗 包含svg图形的svg(根据窗口调整大小): 代码: 大学里的兄弟姐妹 大学里没有兄弟姐妹 1+在大学的兄弟姐妹 家庭收入 15万美元 使用中心块帮助器类将svg居中 设置要显示的元素:块和通过边距居中。可作为mixin和class提供 还要确保将viewBox和preserveA

我有一个D3SVG,我想保持居中。我试着做一个课程:

.tocenter {
margin: 0 auto;
}
然而,这是行不通的。我还尝试过将
svg
包装到一些
div
中,但我一定是做错了什么。有什么建议吗

包含svg图形的svg(根据窗口调整大小):

代码:


大学里的兄弟姐妹
大学里没有兄弟姐妹
1+在大学的兄弟姐妹

家庭收入 15万美元
使用
中心块
帮助器类将svg居中

设置要显示的元素:块和通过边距居中。可作为mixin和class提供

还要确保将
viewBox
preserveAspectRatio
属性添加到svg元素中

var margin={top:50,right:50,bottom:50,left:50},
w=1024-margin.left-margin.right,
h=300-margin.top-margin.bottom,
circleRadii=15,
triData=[{x:120,y:30},{x:250,y:120},{x:340,y:160}],
circleData=[{x:110,y:10},{x:140,y:80},{x:460,y:70}];
var svg=d3。选择(“图形”)
.attr(“宽度”,w+边距。左侧+边距。右侧)
.attr(“高度”,h+margin.left+margin.right)
.附加(“g”)
.attr(“转换”、“平移”(+margin.left+)、“+margin.top+”);
var tri=svg.selectAll(“.point”)
.数据(triData)
.enter().append(“路径”)
.attr(“类”、“点”)
.attr(“笔划”、“无”)
.attr(“填充”、“rgba(30110160.5)”)
.attr(“d”,d3.svg.symbol().type(“三角形向上”).size(1024*2))
.attr(“transform”,函数(d){return“translate”(“+d.x+”,“+d.y+”)”);});
var circles=svg.selectAll(“圆”)
.数据(循环数据)
.输入()
.附加(“圆圈”);
var circleAttr=圆
.attr(“cx”,函数(d){return d.x;})
.attr(“cy”,函数(d){返回d.y;})
.attr(“r”,circleRadii)
.样式(“填充”、“rgba(10100,0,5)”)
svg{
背景:黑色;
}

大学里的兄弟姐妹
大学里没有兄弟姐妹
1+在大学的兄弟姐妹

家庭收入 15万美元
我制作的可能有助于解决您的问题。请注意,我指定了svg元素的宽度,以便父容器可以正确地将文本对齐属性添加到svg中

HTML和CSS:

<div>
  <svg> </svg >
</div>

svg {
  width: *some value*
}

div {
  text-align: center
}

svg{
宽度:*某些值*
}
div{
文本对齐:居中
}

您是否可以编辑问题并包含svg标记及其周围元素的HTML。是否使用引导?由于
img responsive
@As3adTintin-我对我的答案进行了编辑。在我看来,这是一个完美的中心。谢谢你的建议。这几乎是我希望实现的目标。当我不使用响应宽度时,它将svg居中,但是我希望我的图形能够响应,这样它就可以适应不同的屏幕。当我将您的代码与响应svg一起使用时,svg会稍微移动,但看起来更左对齐<代码>var margin=40,
width=parseInt(d3.选择(“图形”).style(“宽度”))-margin*2,
高度=parseInt(d3.选择(“图形”).style(“高度”)-margin*2
刚刚看到svg上缺少
PreserveSpectratio
viewBox
属性。与
img responsive
class.hmm配合使用很好,它居中,但与
text center
的居中不同。我使用
使引导div正常工作。yutest{padding left:12%;text align:left;/*border:solid 1px black;*/}
<div>
  <svg> </svg >
</div>

svg {
  width: *some value*
}

div {
  text-align: center
}