svg 그래픽

Taehee Kim·2022년 4월 24일
0

CSS

목록 보기
14/15

📌 SVG란?

- 확장이 간능한 백터 그래픽으로 XML 기반의 2차원 그래픽
- html태그들의 집합으로 구성
- css와 js로 컨트롤 가능

* XML??
- html과 같이 태그로 구성된 마크업 언어!
- html은 문서의 외관을 구성하고 xml은 데이터를 저장하고 전달하는 역할
- html은 정해진 태그의 이름을 사용, xml은 새로운 이름의 태그를 만들어서 사용 가능

📌 장점

- 이미지가 깨지는 계단 현상이 없음
- 이미지 크기가 커도 용량 그대로

📌 단점

- 단순한 로고가 아닌 이상, 복잡한 태그로 구성된 svg 특성 상 비효율적이고 용량이 커질 수 있음

👉 복잡한 태그 구성
👉 css로 요소 조작하여 애니메이션 주기
- css class를 선택하여 애니메이션 효과를 넣어주면 간단하게 해결할 수 있다.

📌 svg 파일 삽입 방법 4가지

1. img 태그
--> 내부 요소 조작 불가

2. backgroun-image
--> 내부 요소 조작 불가

3. object 태그
--> 내부 요소 조작 가능

<object data="./image.svg" type="image/svg+xml"></object>

4. 인라인으로 구현
--> 내부 요소 조작 불가능

<svg width="624" height="465" fill="none" xmlns="http://www.w3.org/2000/svg">
        <path
            d="m446.529 308.502 79.386-37.479c-37.824-34.863-111.48-58.521-196.146-58.521-123.264 0-223.191 50.142-223.191 112.002 0 61.857 99.927 112.002 223.191 112.002 94.674 0 175.575-29.586 208.011-71.334l-91.251-56.67Z"
            fill="#00A249" />

        .. 중략 ...

        <path d="M383 129c0 16.016-13.208 29-29.5 29S324 145.016 324 129s13.208-29 29.5-29 29.5 12.984 29.5 29Z"
            stroke="#000" />
        <ellipse class="eye-right" cx="353.5" cy="129" rx="12.5" ry="12" fill="#000" />
    </svg>

0개의 댓글