SVGFragmentIdentifiers와 함께 SVG 스프라이트를 사용하고 있습니다. 같은 : 물론SVGFragmentIdentifier에 대한 브라우저 지원 검색
<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;
}
불행하게도 SVG 조각 식별자가이 시간에 웹킷과 다른 브라우저에서 지원되지 않습니다 http://caniuse.com/svg-fragment
Modernizr을 사용하여 브라우저 기능을 확인하고 있습니다. SVGFragmentIdentifiers에 대해 Modernizr 또는 독립적 인 JavaScript Browsercheck를 만들 수 있습니까?
jQuery를 통해 SVG 객체를 만들고 그것에 대해 :target
이벤트를 트리거하는 것에 대해 생각했습니다. 나중에 그것이 숨겨 지거나 보여지는지를 점검 할 것입니다. 어쩌면 jQuery의 event.target
이 도움이 될 수 있습니다. 그러나 그것이 인라인 SVG의 문제 일 것이기 때문에 이것이 배경 이미지에 적합한 지 확실하지 않습니다.
아이디어가 있으십니까?
브라우저가 가치있는 일이라면 브라우저는 이와 같은 조각 식별자를 지원한다고 생각하지 않습니다. 참조 : http://stackoverflow.com/questions/16042387/svg-spritesheet-targeting-with-css – cimmanon