SVG (Scalable Vector Graphics)는 벡터 기반의 이미지 포맷으로, 크기나 해상도에 관계없이 고해상도의 품질을 유지할 수 있습니다. 이번 글에서는 웹페이지에서 SVG를 활용하는 다양한 방법을 소개하고, 각 방법의 특징과 장단점, 그리고 각 방식에 적합한 사용 사례를 살펴보겠습니다.
<svg>
삽입HTML 문서 내에 직접 SVG 코드를 삽입하는 방식입니다.
<svg height="210" width="500" xmlns="http://www.w3.org/2000/svg">
<polygon points="100,10 40,198 190,78 10,78 160,198" fill="lime" fill-rule="nonzero" />
Sorry, your browser does not support inline SVG.
</svg>
#id
).id
)를 사용해 특정 섹션으로 바로 이동하는 방식과 유사<img>
로 외부 리소스 연결<img>
태그를 사용해 외부 SVG 파일을 연결하는 방식입니다.
<img src="https://www.example.com/icon.svg" />
https://www.example.com/icon.svg#id
).<img>
로 Data URI 연결SVG 데이터를 Base64로 인코딩하여 <img>
태그의 src
속성에 직접 삽입하는 방식입니다.
<img src="data:image/svg+xml;base64,PHN2ZyB4b..." />
기준 | HTML <svg> 삽입 | <img> 외부 리소스 | <img> Data URI |
---|---|---|---|
외부 리소스 의존성 | 없음 | 있음 | 없음 |
네트워크 요청 | 없음 | 있음 | 없음 |
CSS 스타일링 적용 | 가능 | 불가능 | 불가능 |
SVG Fragment 사용 | 가능 | 가능 | 불가능 |
DOM 접근 | 가능 | 불가능 | 불가능 |
캐싱 | 없음 | 가능 | 없음 |
렌더링 성능 | 빠름 | 네트워크 의존 | 빠름 |
메모리 사용량 | 높음 | 낮음 | 높음 |
<svg>
삽입이 적합한 경우<img>
외부 리소스 연결이 적합한 경우<img>
Data URI 연결이 적합한 경우