SVG 학습 목차
프론트엔드 개발을 하다보면 svg를 다룰 일이 가끔씩 생기게 됩니다. 주로 디자이너가 준 svg를 그대로 사용하지만 가끔 색상을 변경하거나 다른 방식으로 선언해야하거나, 혹은 그래프를 그리는데 내부 동작이 svg 기반으로 된 경우도 있습니다.
이럴 떄, 저는 두렵더라고요. 읽긴 읽는데 이게 맞나 싶고 막상 수정하고 싶은 부분이 있으면 어디를 수정해야할지 몰라 여기저기 코드를 건들여봅니다. 물론 그렇게 해서 대부분 해결되지만 이 기회에 svg에 대해 전반적인 정리를 하고자 이 튜토리얼을 개설 했습니다.
이 곳[https://developer.mozilla.org/en-US/play/] 혹은 저 곳 [https://svgplayground.com/] 에서 svg를 직접 테스트하면서 진행해주시면 좋을 것 같아요.
1. SVG 소개
1.1 SVG란 무엇인가?
- SVG의 정의 및 역사
- SVG와 다른 그래픽 포맷의 비교 (예: PNG, JPEG, Canvas)
1.2 SVG의 장점과 사용 사례
- 해상도 독립성
- 파일 크기 절감
- 인터랙티브 그래픽
- 웹 애니메이션
- 아이콘 및 로고 디자인
2. SVG 기본 구조
2.1 SVG 요소의 기본 구조
<svg>태그의 역할과 속성- 네임스페이스 이해하기
2.2 뷰포트와 좌표계
viewBox속성- 사용자 좌표 시스템 vs. 뷰포트 좌표 시스템
3. 기본 도형 그리기
3.1 선 (Line)
<line>요소와 속성
3.2 직사각형 (Rectangle)
<rect>요소와 속성
3.3 원 (Circle)
<circle>요소와 속성
3.4 타원 (Ellipse)
<ellipse>요소와 속성
3.5 다각형과 폴리라인 (Polygon & Polyline)
<polygon>과<polyline>요소
3.6 경로 (Path)
<path>요소와d속성- 기본 경로 명령어 (M, L, C, Q, Z 등)
4. 그룹화와 변환
4.1 그룹 (Group) 요소
<g>태그의 활용- 그룹에 스타일 및 변환 적용
4.2 변환 (Transform) 속성
- 이동 (translate)
- 회전 (rotate)
- 스케일 (scale)
- 기울이기 (skew)
- 복합 변환
5. 스타일링과 색상
5.1 채우기와 스트로크
fill과stroke속성- 선의 두께와 종류 (
stroke-width,stroke-dasharray등)
5.2 그라디언트과 패턴
- 선형 그라디언트 (
<linearGradient>) - 방사형 그라디언트 (
<radialGradient>) - 패턴 정의 (
<pattern>)
5.3 CSS를 이용한 스타일링
- 외부 CSS와 인라인 스타일링
- CSS 클래스와 ID 활용
6. 텍스트와 폰트
6.1 텍스트 요소
<text>태그의 사용법- 텍스트 위치 지정 (
x,y,dx,dy)
6.2 폰트 속성
font-family,font-size,font-weight등
6.3 텍스트 경로
<textPath>를 이용한 텍스트 곡선 배치