如题所述
当html引入svg文件却不显示,可能由于svg不是所有浏览器都支持,firefox, chrome支持,ie有的低版本不支持。
解决方案:
<embed> 标签被所有主流的浏览器支持,并允许使用脚本。
当在 HTML 页面中嵌入 SVG 时使用 <embed> 标签是 Adobe SVG Viewer 推荐的方法,然而,如果需要创建合法的 XHTML,就不能使用 <embed>。
任何 HTML 规范中都没有 <embed> 标签。
例如:需要下载adobe的svg viewer插件来显示。
<embed src="rect.svg" width="300" height="100"
type="image/svg+xml"
pluginspage="http://www.adobe.com/svg/viewer/install/" />
如<img src="xxx.svg" alt="svg图片"/>
建议使用<object>标签进行svg的显示
<object data="xxx.svg" type="image/svg+xml"></object>
svg不是所有浏览器都支持,firefox, chrome支持,ie有的低版本不支持。
列举几种解决方案吧:
<embed> 标签被所有主流的浏览器支持,并允许使用脚本。
注:当在 HTML 页面中嵌入 SVG 时使用 <embed> 标签是 Adobe SVG Viewer 推荐的方法!然而,如果需要创建合法的 XHTML,就不能使用 <embed>。任何 HTML 规范中都没有 <embed> 标签。
例如:(需要下载adobe的svg viewer插件来显示)
<embed src="rect.svg" width="300" height="100"type="image/svg+xml"
pluginspage="
使用<object> 标签,它是 HTML 4 的标准标签,被所有较新的浏览器支持。它的缺点是不允许使用脚本。
注:假如您安装了最新版本的 Adobe SVG Viewer,那么当使用 <object> 标签时 SVG 文件无法工作(至少不能在 IE 中工作)!
<object data="rect.svg" width="300" height="100"type="image/svg+xml"
codebase="
使用 <iframe> 标签
<iframe> 标签可工作在大部分的浏览器中。
例如:
<iframe src="rect.svg" width="300" height="100"></iframe>然后在rect.svg里,通过引用 SVG 的命名空间,就能够把 SVG 元素之间添加到 HTML 代码中,这像这样(这需要浏览器支持svg,比如firefox, chrome):
<html xmlns:svg="<body>
<p>This is an HTML paragraph</p>
<svg:svg width="300" height="100" version="1.1" >
<svg:circle cx="100" cy="50" r="40" stroke="black"
stroke-width="2" fill="red" />
</svg:svg>
</body>
</html>追问
大神能向你私信请教另一个问题吗?是跟电脑系统方面的事情,是属于软件范畴的。
本回答被网友采纳