36. 기존 픽셀 이미지와 달리 SVG는 벡터를 기반으로 하고있기 때문에
사이즈 변경이 용이하고 여러 해상도에서 깨지지 않는다.
IE9 이상 / 대부분의 브라우저에서 지원한다.
(다룰 줄 안다면) 에디터에서 작성 및 수정이 가능하다.
(필요하다면) 스프라이트 처럼 만들 수 있다.
https://ssl.pstatic.net/sstatic/search/pc/2016/img/sp_svg_common_v3.svg
(필요 하다면)SVG 애니메이션은 SMIL 사양을 기반으로
한 애니메이션 효과를 적용할 수 있다.
.
.
.
장점
37. SVG 작업하기
선호하는 벡터 그래픽 편집기
Illustrator, Photoshop, Sketch, Inkscape [무료]에서
실제 원하는 결과물과 동일한 크기로 그래픽 작업한다.
38. SVG 구현 옵션
Img
일반 이미지와 같이 <picture>요소에서 SVG를 사용가능
<img src="bblogo.svg" alt="Breaking Borders Logo" height="65" width="68">
Background-image
base64 인코딩을 하면 다운로드하는 동안 나머지 스타일 로딩을
차단시키기 때문에 사용하지 않는 편이 좋다.
.logo {
background-image: url(bblogo.svg);
}
39. SVG 구현 옵션
Iframe
<iframe>요소 내 SVG를 로드 가능. 대부분의 작업을 구현할 수 있지만,
더 발전적인 기능을 사용하고자 한다면 가장 좋은 방법은 아니다.
<iframe src=“bblogo.svg">
Your browser does not support iframes
</iframe>
Embed
<embed>요소는 '외부 응용 프로그램', '대화형 콘텐츠'를 통합할 때 사용
SVG를 사용할 수 있겠으나, 사용하지 않는 편이 좋다.
<embed type="image/svg+xml" src="bblogo.svg" />
40. Object
<object>요소는 HTML문서 내에 직접 내장(inline)시키지 않고
SVG를 조작하는 경우에 가장 좋은 방법
<object type="image/svg+xml" data=“bblogo.svg">
</object>
Inline
SVG 코드를 인라인하면 HTTP 요청은 저장되지만, 이미지는 브라우저에 캐시되지 않음
조작이 가장 쉬운 방법이지만, 인라인 SVG 코드를 유지하는 것은 어려울 수 있다.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 65">
<path fill="#1A374D" d="M42 27v-20c0-3.7-3.3-7-7-7s-7 3.3-7 7v21l12 15-7
15.7c14.5 13.9 35 2.8 35-13.7 …."/>
<path d="M14 27v-20c0-3.7-3.3-7-7-7s-7 3.3-7 7v41c0 8.2 9.2 1…"/>
</svg>
SVG 구현 옵션