【发布时间】:2014-09-09 18:31:28
【问题描述】:
所以这似乎是今天在 Chrome 中出现的一个错误(显然还有 Firefox)。
我有一个 SVG 包裹在一个跨度内(我也尝试过 div 和对象标签,这似乎并不重要),并且该跨度具有指定的高度和宽度。昨天,子元素将自己调整大小以适应其父元素的完整尺寸,就像所有其他 html 元素一样。然而,现在,SVG 元素没有从其父元素继承继承大小,而是根据 SVG 的实际大小调整自身大小。
在这里查看小提琴:http://jsfiddle.net/theandybob/4LHeB/
CSS:
.icon-small {
width: 32px;
height: 32px;
position: relative;
display: inline-block;
}
还有代码:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<symbol id="run-import" viewBox="0 0 48 48">
<path fill="#4B4B4B" d="M24,0c4.4,0,8.4,1.1,12,3.2s6.6,5.1,8.7,8.7c2.1,3.7,3.2,7.7,3.2,12s-1.1,8.4-3.2,12 c-2.1,3.7-5.1,6.6-8.7,8.7c-3.7,2.1-7.7,3.2-12,3.2c-4.4,0-8.4-1.1-12-3.2c-3.7-2.1-6.6-5.1-8.7-8.7C1.1,32.4,0,28.4,0,24 s1.1-8.4,3.2-12S8.3,5.4,12,3.2S19.6,0,24,0z M36,25.7c0.7-0.4,1-0.9,1-1.7c0-0.8-0.3-1.3-1-1.7l-17-10c-0.6-0.4-1.3-0.4-2,0 c-0.7,0.4-1,1-1,1.8v20c0,0.8,0.3,1.4,1,1.8c0.3,0.2,0.7,0.3,1,0.3c0.4,0,0.7-0.1,1-0.3L36,25.7z"></path>
</symbol>
</svg>
<span class="icon-small">
<svg><use xlink:href="#run-import"></use></svg>
</span>
现在,这发生在 Chrome(Windows 和 Mac 上)和 Firefox 中,但不是 IE 或 Safari。关于如何解决这个问题的想法,或者它是从哪里来的?
我现在唯一的解决方法是专门设置 svg 大小以从其父级继承。
另外,把版本号扔在那里:
1. Chrome:版本 36.0.1985.125 m
2.火狐:30.0
【问题讨论】:
标签: html css google-chrome firefox svg