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如果你写评论作为答案,我会接受,因为你的评论包含了这个问题的解决方案。