我有一个SVG,我试图在一个div居中。div的宽度为900px。SVG的宽度为400px。SVG的左边距和右边距设置为auto。不起作用,它就像左距为0一样(默认值)。
有人知道误差是多少吗?
我有一个SVG,我试图在一个div居中。div的宽度为900px。SVG的宽度为400px。SVG的左边距和右边距设置为auto。不起作用,它就像左距为0一样(默认值)。
有人知道误差是多少吗?
当前回答
HTML:
<div class="wrap-center">
<svg width="20px" height="20px"></svg>
</div>
CSS:
.wrap-center {
display: flex;
justify-content: center;
align-items: center;
}
其他回答
只需将容器视为flex,并将svg项以flex属性居中即可:
<div classname='icon'>
<svg>.....</svg>
</div>
.icon{
display:flex;
align-items:center;
justify-content:center;
}
读了上面的内容,svg默认是内联的,我只是在div中添加了以下内容:
<div style="text-align:center;">
这招对我很管用。
纯粹主义者可能不喜欢它(这是一张图片,不是文本),但在我看来,HTML和CSS在居中位置上搞砸了,所以我认为这是合理的。
上面的答案对我都没用。如果SVG来自谷歌图标,请尝试以下方法:
display: inline-block;
width: 24px;
vertical-align: middle;
确保你的CSS如下:
margin: 0 auto;
即使您说您已经将左和右设置为auto,您可能会放置一个错误。当然我们不知道,因为你没有给我们看任何代码。
把这两行放到style.css中 在指定的div类中。
display: block;
margin: auto;
然后尝试运行它,您将能够看到SVG现在在中心对齐。