有没有可能在不修改SVG文件内容的情况下,通过CSS样式来为外部SVG文件添加样式?
<img src="image/svg/3ds-max.svg">
还有没有更好的方法在HTML5中显示外部SVG文件?
使用img标签不可能实现,因为在访问或修改方面它们与位图基本相似。相反,您可以使用<iframe>
标签和其style属性,或者将svg直接嵌入html5文件中。
svg
标签直接将SVG嵌入到HTML5文档中,那么您就可以使用CSS样式进行设计,示例如下:<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<style type="text/css">
#redcircle { stroke:black; stroke-width:5; }
</style>
</head>
<body>
<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
<circle id="redcircle" cx="50" cy="50" r="30" fill="red" />
</svg>
</body>
</html>
<img src="image/svg/3ds-max.svg" onload="SVGInject(this)" >
<svg>
元素替换<img>
元素。然后,您可以像处理HTML DOM中的任何其他元素一样,对SVG的所有元素进行样式设置。