我想知道如何在网页中使用 .svg 文件?
请查看svgweb快速入门和svgweb项目主页,其中包括适用于所有浏览器(包括需要flash插件的IE)的解决方案。
有多种方法可以包含现有的SVG文件:
<img src="your.svg"/>
(图像方式)<object data="your.svg"/>
(对象方式)<iframe src="your.svg"/>
(框架方式)<embed src="your.svg"/>
(嵌入方式)<div style="background:url(your.svg)">...</div>
(背景方式)<object data="/path-to/your-svg-image.svg" type="image/svg+xml">
<img src="/path-to/your-fallback-image.png" />
</object>
只有在浏览器不支持SVG时,才会加载和使用img备选方案。
<html>
<body>
<svg></svg>
</body>
</html>
<svg id="mySVG" style="position: absolute; top: 200px; left: 200px;"></svg>
这种技术在除IE8及以下版本和Android 2.3浏览器及以下版本以外的所有浏览器中都得到支持。
请参阅内联SVG章节以获取更多详细信息:
如果您不想将其内嵌在页面中,则最好的替代方法似乎是使用对象标签,避免使用嵌入标签。
请参阅有关对象与嵌入与图像标签的详细信息:
http://www.w3schools.com/svg/svg_inhtml.asp
最佳示例:
<embed src="rect.svg" width="300" height="100"
type="image/svg+xml"
pluginspage="http://www.adobe.com/svg/viewer/install/" />
Caspar的方法是正确的。 但是,我会将备选方案移动到CSS中,因为您可能希望对svg文件本身应用一些样式...
<object data="/path-to/your-svg-image.svg" type="image/svg+xml" class="logo"> </object>
CSS
.no-svg .logo {
width: 99px;
height: 99px;
background-image: url(/path-to/your-png-image.png);
}`
Raphaël- JavaScript库。这是一个使用 SVG 的好用的 JavaScript 库,能够提供各种特效。
同时支持大多数浏览器,包括 IE。
<html>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" cy="50" r="40" stroke="black"
stroke-width="2" fill="red"/>
</svg>
</body>
</html>
为了更加创新,根据您的需求,您还可以将单色图形放入webfont中使用。(例如iconmoon.io)
<object>
。请参见http://css-tricks.com/using-svg/上的“使用SVG作为<object>”。 - Brian McCutchon