我正在使用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中的居中位置。
<div>
<div id="logo">
似乎很难找到信息,其他人也遇到同样的问题吗?
问题不在于CSS,而在于SVG。SVG将增长以填充整个元素框的背景(如预期的那样)。SVG规模如何成为控制因素:
viewBox="0 0 widthheight"在<svg>元素上设置(以像素为单位)属性,然后删除其width和height属性。您还需要preserveAspectRatio="xMinYMid"在svg元素上设置(x /垂直左对齐,y /水平中间对齐)。至少与Internet Explorer 10和11兼容。
viewBox="0 0 widthheight"
<svg>
width
height
preserveAspectRatio="xMinYMid"
svg
<svg viewbox="0 0 64 64" preserveAspectRatio="xMinYMid"> … </svg>