SVG ਇੱਕ vector ਚਿੱਤਰ ਫਾਰਮੈਟ (XML-ਆਧਾਰਤ) ਹੈ, ਇਸ ਲਈ ਇਹ ਕਿਸੇ ਵੀ ਆਕਾਰ ਲਈ ਬਿਨਾਂ ਧੁੰਦਲਾ ਕੀਤੇ ਸਕੇਲ ਕਰਦਾ ਹੈ। ਤੁਸੀਂ ਇਸ ਨੂੰ ਦੋ ਮੁੱਖ ਤਰੀਕਿਆਂ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ, ਹਰ ਇੱਕ ਦੇ ਨੁਕਸਾਨ ਹਨ।
Inline SVG — HTML ਵਿੱਚ ਸਿਧਾ markup
ਫਾਇਦੇ: ਤੁਸੀਂ ਇਸ ਨੂੰ CSS (fill, stroke) ਨਾਲ ਸਟਾਈਲ ਕਰ ਸਕਦੇ ਹੋ, ਇਸ ਦੇ ਹਿੱਸਿਆਂ ਨੂੰ ਐਨੀਮੇਟ ਕਰ ਸਕਦੇ ਹੋ, currentColor ਦੁਆਰਾ ਰੰਗ ਬਦਲ ਸਕਦੇ ਹੋ (ਪਾਠ ਰੰਗ ਵਿਰਾਸਤ), ਅਤੇ ਇਵੈਂਟਸ ਦਾ ਜਵਾਬ ਦੇ ਸਕਦੇ ਹੋ — ਕਿਉਂਕਿ ਇਹ ਅਸਲ DOM ਹੈ। ਕੋਈ ਵਾਧੂ HTTP ਬੇਨਤੀ ਨਹੀਂ।
ਨੁਕਸਾਨ: HTML ਨੂੰ ਫੁਲਾਉਂਦਾ ਹੈ, ਵੱਖਰੇ ਤੌਰ ਤੇ ਕੈਸ਼ ਨਹੀਂ ਕੀਤਾ ਗਿਆ, ਦੁਹਰਾਏ ਗਏ ਆਈਕਨ ਮਾਰਕਅਪ ਨੂੰ ਡੁਪਲੀਕੇਟ ਕਰਦੇ ਹਨ।
<img> ਦੁਆਰਾ — ਫਾਇਲ ਦੇ ਤੌਰ ਤੇ ਹਵਾਲਾ ਦਿੱਤਾ ਗਿਆ<img src="logo.svg" alt="Company logo" width="120" />
ਫਾਇਦੇ: ਬ੍ਰਾਊਜ਼ਰ ਦੁਆਰਾ ਕੈਸ਼ ਕੀਤਾ ਗਿਆ, HTML ਨੂੰ ਸਾਫ ਰੱਖਦਾ ਹੈ, ਸਧਾਰਨ। ਨੁਕਸਾਨ: ਤੁਸੀਂ ਆਪਣੇ CSS/JS ਨਾਲ ਇਸ ਦੇ ਅੰਦਰੂਨੀ ਹਿੱਸਿਆਂ ਨੂੰ ਸਟਾਈਲ ਜਾਂ ਸਕ੍ਰਿਪਟ ਨਹੀਂ ਕਰ ਸਕਦੇ — ਇਹ ਇੱਕ ਅਪਾਰਦਰਸ਼ੀ ਚਿੱਤਰ ਹੈ।
Need to recolor/animate/interact with the SVG → inline SVG
Static logo/illustration, want caching + clean HTML → <img src=".svg">
Many repeated icons → an SVG sprite (<use>) or an icon component
<svg role="img" aria-label="Settings">...</svg> <!-- meaningful icon -->
<svg aria-hidden="true">...</svg> <!-- decorative: hide from AT -->
Inline ਬਨਾਮ <img> SVG ਚੁਣਨਾ ਇਸ ਗੱਲ ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਤੁਹਾਨੂੰ ਗ੍ਰਾਫਿਕ ਨੂੰ ਸਟਾਈਲ/ਐਨੀਮੇਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ (inline) ਜਾ ਸਿਰਫ ਇਸ ਨੂੰ ਪ੍ਰਦਰਸ਼ਤ ਕਰੋ ਕੁਸ਼ਲਤਾ ਨਾਲ (<img>)।
ਆਈਕਨ ਜੋ hover ਜਾਂ ਥੀਮ ਤੇ ਰੰਗ ਬਦਲਦੇ ਹਨ inline ਜਾਂਦੇ ਹਨ (ਅਕਸਰ ਕੰਪੋਨੈਂਟ ਦੇ ਤੌਰ ਤੇ); ਸਥਿਰ ਬ੍ਰਾਂਡ ਸੰਪਤੀਆਂ <img> ਦੁਆਰਾ ਜਾਂਦੀਆਂ ਹਨ।
ਜਿਸ ਤਰੀਕੇ ਵਾਲਾ ਹੋ, ਵੈਕਟਰ ਹਰ ਰੈਜ਼ੋਲਿਊਸ਼ਨ ਤੇ ਤਿਖਾ ਰਹਿੰਦਾ ਹੈ — ਆਈਕਨ ਅਤੇ ਲੋਗੋ ਲਈ ਆਦਰਸ਼।
ਵਿਸਤ੍ਰਿਤ ਜਵਾਬਾਂ ਨਾਲ IT ਇੰਟਰਵਿਊ ਸਵਾਲਾਂ ਦੀ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ — ਜੂਨੀਅਰ ਤੋਂ ਸੀਨੀਅਰ ਤੱਕ।
ਦਾਨ ਕਰੋ