我有一个SVG,我试图在一个div居中。div的宽度为900px。SVG的宽度为400px。SVG的左边距和右边距设置为auto。不起作用,它就像左距为0一样(默认值)。

有人知道误差是多少吗?


当前回答

如果你使用bootstrap,把你的代码放在这个div之间:

  <div class="text-center ">
  <i class="fa fa-twitter" style="font-size:36px "></i>
  <i class="fa fa-pinterest" style="font-size:36px"></i>
  <i class="fa fa-dribbble" style="font-size:36px"></i>
  <i class="fa fa-instagram" style="font-size:36px"></i>
  </div>

其他回答

以上答案对我不起作用。 将属性preserveAspectRatio="xMidYMin"添加到<svg>标记中就可以了。viewBox属性也需要被指定才能正常工作。 来源:Mozilla开发者网络

SVG默认是内联的。

添加display: block到它,然后margin: auto将按预期工作。

或者根据你的布局,你可能想保持SVG内联,并在父元素上设置text-align: center。

作为另一种选择,您可以使用flex或网格布局将SVG居中在父元素上。

对我来说,修正是添加边际:0 auto;到包含<svg>. xml的元素上。

是这样的:

<div style="margin: 0 auto">
   <svg ...</svg>
</div>

这些答案对我都没用。我是这么做的。

position: relative;
left: 50%;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);

如果你使用bootstrap,把你的代码放在这个div之间:

  <div class="text-center ">
  <i class="fa fa-twitter" style="font-size:36px "></i>
  <i class="fa fa-pinterest" style="font-size:36px"></i>
  <i class="fa fa-dribbble" style="font-size:36px"></i>
  <i class="fa fa-instagram" style="font-size:36px"></i>
  </div>