2016-03-20 17 views
4

'def' etiketi bulamıyor: ihtiyacınız sen svg içinde bir use etiketine sahip Genellikleorada sayfasında bir 'kullanım' etiketi, ama ben bu <a href="https://medium.com/" rel="nofollow">website</a> üzerinde bu html kodunu gördü

<a href="https://medium.com/" class="siteNav-logo" data-log-event="home"> 
    <svg viewBox="0 0 45 45" width="45" height="45" class="svgIcon svgIcon--logoNew svgIcon-size--45px"> 
     <use class="svgIcon-use svgIcon-use--part0" xlink:href="#svg-logoNew-45px-p0"></use> 
     <use class="svgIcon-use svgIcon-use--part1" xlink:href="#svg-logoNew-45px-p1"></use> 
     <use class="svgIcon-use svgIcon-use--part2" xlink:href="#svg-logoNew-45px-p2"></use> 
     <use class="svgIcon-use svgIcon-use--part3" xlink:href="#svg-logoNew-45px-p3"></use> 
    </svg> 
    <svg viewBox="0 0 95 45" width="95" height="45" class="svgIcon svgIcon--logoWordmarkNew svgIcon-size--95x45px"> 
     <use class="svgIcon-use svgIcon-use--part0" xlink:href="#svg-logoWordmarkNew-95x45px-p0"></use> 
    </svg><span class="u-textScreenReader">Homepage</span> 
</a> 

defs etiketini kullanmak için use belirtildiği özel şekli belirtin. Sadece şöyle:

<svg> 
    <defs> 
    <g id="shape"> 
     <rect x="50" y="50" width="50" height="50" /> 
     <circle cx="50" cy="50" r="50" /> 
    </g> 
    </defs> 

    <use xlink:href="#shape" x="50" y="50" /> 
    <use xlink:href="#shape" x="200" y="50" /> 

</svg> 

Ama sayfadaki herhangi defs etiketini bulamadık, bu yüzden tarayıcı bu harici SVG açıklığı (#svg-logoNew-45px-p0, #svg-logoNew-45px-p1, vs) buluyor?

cevap

3

Onlar <defs> yerine <symbol> etiketini kullanın:

<div style="display: none;"> 
    <svg xmlns="http://www.w3.org/2000/svg"> 
     <symbol viewBox="-17 18 45 45" id="svg-logoNew-45px-p0">...</symbol> 
    </svg> 
</div> 
İlgili konular