我正在使用SVG徽标作为背景图片,但似乎无法使其在Internet Explorer (编辑:和Safari)中正确对齐到左侧。
容器看起来像这样:
<div id="header">
<div id="logo"></div>
</div>
搭配款式:
#header{
width: 100%;
max-width: 1200px;
height: 100%;}
#logo{
background: url(../images/ss_logo.svg);
background-position: left center;
width: 100%;
height: 100%;
float: left;}
您可以看到<div>
应当覆盖其父项的100%,但在元素左侧显示徽标。在Chrome和Safari中这可以正常工作,但徽标始终<div id="logo">
位于IE中的居中位置。
似乎很难找到信息,还有其他人遇到过同样的问题吗?
问题不在于您的CSS,而在于您的SVG。SVG将增长以填充整个元素框的背景(如预期的那样)。SVG规模如何成为控制因素:
viewBox="0 0 width height"
在<svg>
元素上设置(以像素为单位)属性,然后删除其width
和height
属性。您还需要preserveAspectRatio="xMinYMid"
在svg
元素上设置(x /垂直左对齐,y /水平中间对齐)。至少可以与Internet Explorer 10和11一起使用。
<svg viewbox="0 0 64 64"
preserveAspectRatio="xMinYMid">
… </svg>
了解有关preserveAspectRatio和viewBox属性的更多信息。来源IEblog中的“ SVG入门”。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句