有没有办法修复HTML验证错误?同时继续使用SVG作为
标记的源代码?
Error: Bad value data:image/svg+xml;utf8,<svg
xmlns='http://www.w3.org/2000/svg' height='10px' width='20px'></svg>
for attribute src on element`
我的源代码:
<img alt="homepage" src="data:image/svg+xml;utf8,<svg
xmlns='http://www.w3.org/2000/svg' height='10px' width='20px'></svg>"
/>
要将SVG用作
元素中的数据URI,需要转义SVG代码:
<img alt="homepage" src="data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='10px' width='20px'%3E%3C/svg%3E">
有几个免费工具可以实现这一点,例如SVG的URL-encoder。
如果您想要一个非交互式svg,请使用png版本的with脚本回退(用于较旧的IE和android<3)。有一种简单明了的方法:
<img src="your.svg" onerror="this.src='your.png'">
svg是SVG的路径。
这将表现得很像GIF图像,如果您的浏览器支持声明式动画(SMIL),那么这些将会播放。
如果需要交互式svg,请使用或
。
如果您需要为较旧的浏览器提供使用svg插件的能力,那么就使用。
对于css中的svg background-image和类似属性,modernizr是切换到回退图像的一种选择,另一种选择是依赖于多个背景来自动完成:
div {
background-image: url(fallback.png);
background-image: url(your.svg), none;
}
另外一个很好的读物是关于svg后退的博客文章。