Css IE svg缩放问题

Css IE svg缩放问题,css,internet-explorer,svg,responsive-design,viewbox,Css,Internet Explorer,Svg,Responsive Design,Viewbox,在此基础上,.logo栏容器中有四个svg徽标。 每个标签都放在图像标签内,如下所示: <div class="logo-bar"> <p class="logo"> <a href=""><img src="resources/img/miterassa_logo.svg" alt=""></a> </p> viewBox设置在每个svg文件的内部: <svg xmlns="

在此基础上,
.logo栏
容器中有四个svg徽标。 每个标签都放在图像标签内,如下所示:

<div class="logo-bar">
    <p class="logo">
        <a href=""><img src="resources/img/miterassa_logo.svg" alt=""></a>
    </p>

viewBox设置在每个svg文件的内部:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="339.827px" height="84.337px" viewBox="0 0 339.827 84.337" enable-background="new 0 0 339.827 84.337" xml:space="preserve">

Windows 7和Windows 8.1上的IE11似乎无法正确缩放svg

在初始加载或刷新页面后,偶尔会出现一些徽标缩放错误的情况

另外,我试图在JSFIDLE中重现这个问题,但问题始终没有出现。

从web标准的角度来看,在中使用svg是非常好的,应该可以正常工作(如果没有,您应该提交IE bugreport)。您是否尝试过在css中设置元素的大小,并从svg根元素中删除宽度和高度属性


应用于
徽标类及其子类的样式规则也可能会影响结果。

您需要使用CSS设置SVG的高度和宽度。我建议使用以下方法将浏览器和版本添加到body tags类:

// Loop through each of the available browsers
jQuery.each(jQuery.browser, function(i, val) {  
if(val != true){
// Render the browser type
        $(document.body).addClass("v"+parseInt(val));
    }
// Render the browser version
    else{
        $(document.body).addClass(i);
    }   
});
然后添加以下CSS:

.msie.v9 svg, .msie.v10 svg {
  width: 100%; 
  height:600px; // Add your own height here
}

您没有使用SVG…您使用的是图像。如果您想使用SVG元素,请将其置于链接中,而不是图像中。从web标准的角度来看,在中使用SVG是非常好的,并且应该可以正常工作(如果没有,您应该提交IE bugreport)。您是否尝试过在css中设置元素的大小,并从svg根元素中删除
width
height
属性?我们使用了很多svg,我已经禁止使用
width
height
,因为存在这样的问题。坚持SVG中的
viewBox
,让包含的DOM元素决定大小。那么你是说SVG中的
width
height
是问题所在?@ErikDahlström如果你写评论作为答案,我会接受,因为你的评论包含了这个问题的解决方案。