### SVG의 `` 요소와 관련 기능 SVG에서 `` 요소는 텍스트를 그래픽으로 렌더링하는 데 사용됩니다. 단순히 텍스트를 표시하는 것을 넘어, 스타일링, 위치 조정, 경로 따라 배치 등 다양한 기능을 제공합니다. 아래에서는 `` 요소의 주요 속성, ``과 ``의 역할, ``과 ``를 활용한 아이콘 제작 방법, 그리고 ``에 대해 설명합니다. --- ### `` 요소와 주요 속성 ``는 텍스트를 SVG 캔버스에 추가하며, 위치와 스타일을 속성으로 정의합니다. #### 기본 예시 ```xml Hello, SVG! ``` #### 주요 속성 정리 | 속성 | 설명 | 예시 값 | |---------------------|--------------------------------------------------------------------------------------|--------------------------| | `x` | 텍스트의 x축 시작 위치. | `10` | | `y` | 텍스트의 y축 시작 위치(기본적으로 baseline 기준). | `50` | | `dx`, `dy` | 텍스트 또는 문자별로 상대적 위치 조정. | `5`, `-10` | | `fill` | 텍스트 채우기 색상. | `red`, `#ff0000` | | `stroke` | 텍스트 외곽선 색상. | `black` | | `font-size` | 글꼴 크기. | `16`, `1em` | | `font-family` | 글꼴 종류. | `Arial`, `sans-serif` | | `text-anchor` | 텍스트 정렬(시작점 기준). | `start`, `middle`, `end`| | `dominant-baseline` | 텍스트의 수직 정렬 기준. | `auto`, `middle`, `hanging` | | `transform` | 회전, 이동 등 변환 적용. | `rotate(45 50 50)` | #### 예시: 스타일링된 텍스트 ```xml Rotated Text ``` - 가운데 정렬된 파란색 텍스트를 45도 회전. --- ### ``: 텍스트 일부 스타일링 ``은 `` 내부에서 특정 텍스트 부분에 스타일을 적용하거나 위치를 조정할 때 사용됩니다. #### 예시 ```xml Hello SVG World! ``` - "SVG"만 빨간색으로 굵게 표시. #### 주요 특징 - `dx`, `dy`로 위치 미세 조정 가능. - 여러 줄 텍스트를 만들 때 유용: ```xml First Line Second Line ``` --- ### ``: 경로를 따른 텍스트 ``은 텍스트를 ``로 정의된 경로를 따라 배치합니다. `href` 속성으로 경로를 참조합니다. #### 예시 ```xml Curved Text ``` - 텍스트가 곡선을 따라 배치됨. #### 주요 속성 - `startOffset`: 경로 시작점에서의 오프셋(예: `50%`로 가운데 정렬). - `text-anchor`: 텍스트 정렬. --- ### ``과 ``를 활용한 아이콘 제작 ``은 재사용 가능한 그래픽 템플릿을 정의하며, ``로 이를 인스턴스화합니다. 아이콘 제작에 이상적입니다. #### 제작 방법 1. ``로 아이콘 정의: ```xml ``` - `viewBox`로 내부 좌표계를 설정. 2. ``로 아이콘 재사용: ```xml ``` - 위치와 크기, 색상을 조정해 여러 번 사용. #### 장점 - 파일 크기 절약: 동일한 그래픽을 여러 번 재사용. - 스타일 커스터마이징: 각 ``마다 다른 스타일 적용 가능. --- ### ``: 외부 콘텐츠 삽입 ``는 SVG 안에 HTML, 이미지 등 외부 콘텐츠를 포함할 수 있게 합니다. SVG가 아닌 다른 네임스페이스의 요소를 렌더링하는 데 사용됩니다. #### 예시 ```xml
This is HTML inside SVG!
``` - SVG 안에 HTML `
`를 삽입. #### 주요 속성 - `x`, `y`, `width`, `height`: 삽입 영역 정의. - 제한: 브라우저 호환성에 따라 렌더링이 달라질 수 있음. #### 활용 - SVG와 HTML의 장점을 결합(예: 버튼, 입력 폼 삽입). - 복잡한 레이아웃이 필요한 데이터 시각화. --- ### 결론 SVG의 ``는 위치와 스타일링을 자유롭게 조정할 수 있으며, ``과 ``로 세부 조정과 창의적 배치가 가능합니다. ``과 ``는 아이콘 시스템을 효율적으로 관리하는 데 유용하고, ``는 SVG의 한계를 넘어 외부 콘텐츠를 통합할 수 있는 강력한 도구입니다. 이러한 기능들을 활용하면 단순한 텍스트나 아이콘을 넘어 인터랙티브하고 복잡한 그래픽을 구현할 수 있습니다.