我正在使用包含SVGFragmentIdentifiers的SVG sprites。做法如下:
当然,我是通过CSS背景等方式使用SVG文件的:
很遗憾,目前webkit和其他浏览器不支持SVG片段标识符:http://caniuse.com/svg-fragment 我正在使用Modernizr来检查浏览器功能。是否可能为SVGFragmentIdentifiers创建一个Modernizr或独立的JavaScript Browsercheck?
我考虑通过jQuery创建一个SVG对象并触发一个
有什么想法吗?
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<defs>
<style><![CDATA[
.sprite { display: none; }
.sprite:target { display: inline; }
]]></style>
</defs>
<g class="sprite" id="icon1">...</g>
<g class="sprite" id="icon2">...</g>
<g class="sprite" id="icon3">...</g>
</svg>
当然,我是通过CSS背景等方式使用SVG文件的:
.icon1 {
background-image: url(mysprite.svg#icon1);
background-size: contain;
}
很遗憾,目前webkit和其他浏览器不支持SVG片段标识符:http://caniuse.com/svg-fragment 我正在使用Modernizr来检查浏览器功能。是否可能为SVGFragmentIdentifiers创建一个Modernizr或独立的JavaScript Browsercheck?
我考虑通过jQuery创建一个SVG对象并触发一个
:target
事件。之后我可能会检查它是隐藏还是显示。也许jQuery的event.target
在这里有所帮助。但我不确定这是否适用于背景图像,因为这将涉及到内联SVG。有什么想法吗?