是可以扩展内联SVG的CSS?
我想使用CSS样式来控制SVGdevise的大小。 例如…
.svg { width:100%; } 当我从一个文件中embedded一个SVG图像时,它就像任何其他图像一样工作正常,
 <img src="image.svg" class="svg" /> 
但是,当我使用内联SVG它不工作:
 <svg class="svg">...</svg> 
svg“盒子”会增长,但内容保持不变。
有没有办法做到这一点?
 您可以使用的第一个也许是最好的方法是使用viewBox属性。 这将使得svg标签的内容自动占据svg标签本身的定义宽度和高度,只显示定义边界内的内容。 例如: 
 <svg width="82" height="82" viewbox="0 0 102 102"> <rect x="1" y="1" width="100" height="100" stroke="black" stroke-width="2" fill="white"/> <text fill="black" x="10" y="30">FooBarBaz</text> </svg> 
 或者,您可以将SVG transform应用于SVG标记的内容,如下所示: 
 <svg width="82" height="82"> <g transform="scale(0.8)"> <rect x="1" y="1" width="100" height="100" stroke="black" stroke-width="2" fill="white"/> <text fill="black" x="10" y="30">FooBarBaz</text> </g> </svg> 
 最后,你可以尝试使用CSS3 transform来缩放整个svg元素。 这是最不被支持的方法,但是无论如何,因为您最初要求提供CSS解决scheme。 我强烈build议使用上述解决scheme之一,如果这是可能的。 
 <svg width="102" height="102" style="transform:scale(0.8); -webkit-transform:scale(0.8); -moz-transform:scale(0.8); -ms-transform:scale(0.8); -o-transform:scale(0.8);"> <rect x="1" y="1" width="100" height="100" stroke="black" stroke-width="2" fill="white"/> <text fill="black" x="10" y="30">FooBarBaz</text> </svg>