Html SVG';s不从父级继承值

Html SVG';s不从父级继承值,html,css,google-chrome,firefox,svg,Html,Css,Google Chrome,Firefox,Svg,因此,这似乎是今天Chrome(显然还有Firefox)中突然出现的一个bug。 我在一个span中包装了一个SVG(我也尝试了div和object标记,这似乎无关紧要),该span具有指定的高度和宽度。昨天,子元素将根据其父元素的完整维度适当调整自身大小,就像其他所有html元素一样。但是,现在,SVG元素没有从其父元素获得继承的大小,而是根据SVG的实际大小调整自身大小。 在这里查看小提琴: CSS: 以及守则: <svg xmlns="http://www.w3.org/2000/s

因此,这似乎是今天Chrome(显然还有Firefox)中突然出现的一个bug。
我在一个span中包装了一个SVG(我也尝试了div和object标记,这似乎无关紧要),该span具有指定的高度和宽度。昨天,子元素将根据其父元素的完整维度适当调整自身大小,就像其他所有html元素一样。但是,现在,SVG元素没有从其父元素获得继承的大小,而是根据SVG的实际大小调整自身大小。
在这里查看小提琴:
CSS:

以及守则:

<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.125M版

2.Firefox:30.0

您需要
元素的高度和宽度,如果您愿意,可以使用CSS进行设置,但我已经使用属性进行了设置

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="0" height="0">
    <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 width="100%" height="100%"><use xlink:href="#run-import"></use></svg>
</span>


它通过设置要继承的宽度和高度来完成与我前面提到的相同的事情。是的,我会修改CSS,而不是元素本身。当前的解决方法是在所有SVG元素上应用size:inherit。我想在更新Chrome之前会发现这样的问题,但我所做的完全是标准的。关于它可能来自何处,有什么想法吗?关于您的编辑,之前,我们可以将viewBox应用于符号,这将应用于span中的svg。所以有些事情已经改变了,不再是这样了?在将viewBox的位置更改为span中的svg之前,我想知道是什么原因导致了这个问题。我本来希望避免下意识地尝试“修复”,但后来却需要修复。因此,在每个引用中定义viewBox是一件非常痛苦的事情,因为我们有数百个引用该符号。我对符号如何工作的理解(显然是有缺陷的)是,我们可以定义我们的基本品质,并将其普遍应用。我说错了吗?如果你愿意的话。但是,您需要设置高度和宽度,这可以通过CSS实现。您确实需要在SVG上指定一些大小信息,但没有办法解决这个问题。好的,因此,似乎之前接收它的大小的方式发生了变化,因此我现在必须明确地说出大小。我想这不太奇怪,但不方便。谢谢你提供的信息,我将继续并标记你的回答为已回答。
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="0" height="0">
    <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 width="100%" height="100%"><use xlink:href="#run-import"></use></svg>
</span>