SVG란?
벡터 그래픽을 표현하기 위한 XML 마크업 언어이다. 픽셀 단위로 이미지를 구성하는 png, jpg와는 다르게 벡터 기반으로 이미지를 표현할 수 있다. 벡터 기반이다 보니 이미지를 축소하거나 확대해도 이미지가 깨지지 않고, 용량이 작기 때문에 웹상에서 주로 사용하는 이미지 형식이다. W3C에서 개발했으며 CSS, DOM, SMIL과 호환된다.
<SVG> 태그란?
웹상에서 벡터 이미지를 구현하기 위해 사용하는 마크업 태그이다. SVG 이미지를 구현하기 위해서는 <svg>태그로 시작하는데 width, height 속성을 사용하여 이미지의 가로와 세로 길이를 조절할 수 있다. HTML 상에 코드를 그대로 넣어줌으로 웹상에서 벡터 이미지를 구현할 수 있는데, 이 장점은 이미지를 따로 로드하지 않아도 된다는 것이다. 이미지 파일을 불러오게 되면 웹페이지가 열릴 때마다 http 요청을 해야하는데 svg로 넣게 되면 요청과 응답이 필요 없기 때문에 로딩되는 속도가 빠르다.
viewBox
viewBox 속성은 min-x, min-y, width, height를 순서대로 받는다.
version
SVG가 어떤 명세를 따르는지 표시
xmlns
XML 문서의 속성으로 namespace를 의미 (요소 간의 이름 충돌 방지)
• 브라우저에서 사용하는 경우 version, xmlns 속성은 필요 없음
<SVG> 태그에서 도형 그리기
원 - <circle> 태그
타원 - <ellipse> 태그
사각형 - <rect> 태그
직선 - <polyline> 태그
선 - path태그
곡선 그릴 시
참고